rtl83xx: fix bridge_leave
authorJohn Crispin <john@phrozen.org>
Tue, 24 Nov 2020 08:35:59 +0000 (09:35 +0100)
committerJohn Crispin <john@phrozen.org>
Tue, 24 Nov 2020 14:16:38 +0000 (15:16 +0100)
The port was not properly masked out.

Signed-off-by: John Crispin <john@phrozen.org>
target/linux/rtl838x/files-5.4/drivers/net/dsa/rtl83xx/dsa.c

index e38d351e8516936f7717b230eb78d5d1dfcebd7d..bc340e94cb7960f3f6f9f2ab769154f472ee6d15 100644 (file)
@@ -617,7 +617,7 @@ static void rtl83xx_port_bridge_leave(struct dsa_switch *ds, int port,
                        if (priv->ports[i].enable)
                                priv->r->mask_port_reg_be(1ULL << port, 0,
                                                       priv->r->port_iso_ctrl(i));
-                       priv->ports[i].pm |= 1ULL << port;
+                       priv->ports[i].pm &= ~(1ULL << port);
 
                        port_bitmap &= ~(1ULL << i);
                }