diff options
author | Vivien Didelot <vivien.didelot@savoirfairelinux.com> | 2015-09-04 18:34:16 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-09-15 19:04:22 (GMT) |
commit | 2b8157b1c20bdac0e0b856b2cb1499c7f18f2b07 (patch) | |
tree | 6d31707f9ddea7e887563552ded90029210b5710 | |
parent | 9f4d55d2869d86bd5dc59ff28109f7fefedc325d (diff) | |
download | linux-2b8157b1c20bdac0e0b856b2cb1499c7f18f2b07.tar.xz |
net: dsa: mv88e6xxx: remove all MACs when disabling a port
When we're moving a port from Learning or Forwarding state to Disabled
or Blocking or Listening state, remove all non-static MAC addresses
mapped to this port in the entire set of databases, not only one.
Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/dsa/mv88e6xxx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c index 63407a1..30227ca 100644 --- a/drivers/net/dsa/mv88e6xxx.c +++ b/drivers/net/dsa/mv88e6xxx.c @@ -1163,7 +1163,7 @@ static int mv88e6xxx_set_port_state(struct dsa_switch *ds, int port, u8 state) */ if (oldstate >= PORT_CONTROL_STATE_LEARNING && state <= PORT_CONTROL_STATE_BLOCKING) { - ret = _mv88e6xxx_flush_fid(ds, ps->fid[port]); + ret = _mv88e6xxx_atu_remove(ds, 0, port, false); if (ret) goto abort; } |