net: dsa: Include BR_PORT_LOCKED in the list of synced brport flags
authorHans Schultz <schultz.hans@gmail.com>
Wed, 23 Feb 2022 10:16:48 +0000 (11:16 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Feb 2022 12:52:34 +0000 (12:52 +0000)
Ensures that the DSA switch driver gets notified of changes to the
BR_PORT_LOCKED flag as well, for the case when a DSA port joins or
leaves a LAG that is a bridge port.

Signed-off-by: Hans Schultz <schultz.hans+netdev@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/port.c

index 367d141..66dd262 100644 (file)
@@ -176,7 +176,7 @@ static int dsa_port_inherit_brport_flags(struct dsa_port *dp,
                                         struct netlink_ext_ack *extack)
 {
        const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
-                                  BR_BCAST_FLOOD;
+                                  BR_BCAST_FLOOD | BR_PORT_LOCKED;
        struct net_device *brport_dev = dsa_port_to_bridge_port(dp);
        int flag, err;
 
@@ -200,7 +200,7 @@ static void dsa_port_clear_brport_flags(struct dsa_port *dp)
 {
        const unsigned long val = BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
        const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
-                                  BR_BCAST_FLOOD;
+                                  BR_BCAST_FLOOD | BR_PORT_LOCKED;
        int flag, err;
 
        for_each_set_bit(flag, &mask, 32) {