From: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> We should not pass the original flags when creating a context vlan only because they may contain some flags that change behaviour in the bridge. The new global context should be with minimal set of flags, so pass 0 and let br_vlan_add() set the master flag only. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> --- net/bridge/br_vlan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c index 7e9d60a402e2..75214a51cf0e 100644 --- a/net/bridge/br_vlan.c +++ b/net/bridge/br_vlan.c @@ -197,7 +197,7 @@ static int __vlan_add(struct net_bridge_vlan *v, u16 flags) masterv = br_vlan_find(br->vlgrp, v->vid); if (!masterv) { /* missing global ctx, create it now */ - err = br_vlan_add(br, v->vid, master_flags); + err = br_vlan_add(br, v->vid, 0); if (err) goto out_filt; masterv = br_vlan_find(br->vlgrp, v->vid); -- 2.4.3