bridge: fix enabling hotplug-added VLANs on the bridge port
authorFelix Fietkau <nbd@nbd.name>
Tue, 22 Jun 2021 14:56:39 +0000 (16:56 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 22 Jun 2021 14:56:44 +0000 (16:56 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
bridge.c

index f3e2fed6f8a05785fbb3a7790cdc9b8585890bdd..925cfe4911843c70a1f3c241da07cd29ba1daa5f 100644 (file)
--- a/bridge.c
+++ b/bridge.c
@@ -704,6 +704,11 @@ bridge_hotplug_get_vlan(struct bridge_state *bst, unsigned int vid)
        INIT_LIST_HEAD(&vlan->hotplug_ports);
        vlist_add(&bst->dev.vlans, &vlan->node, &vlan->vid);
        vlan->node.version = -1;
+       if (!vlan->pending)
+               return vlan;
+
+       vlan->pending = false;
+       bridge_set_vlan_state(bst, vlan, true);
 
        return vlan;
 }