summaryrefslogtreecommitdiffstats
path: root/drivers/net/dsa
diff options
context:
space:
mode:
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>2015-09-04 20:34:14 +0200
committerDavid S. Miller <davem@davemloft.net>2015-09-15 21:04:21 +0200
commit7c400018c003d221a2db1ce46a5b88d7a37add1c (patch)
treeb621b3c3ed45a85fd248e7ef5de5ddaf0e2790df /drivers/net/dsa
parentnet: dsa: mv88e6xxx: flush ATU on initial setup (diff)
downloadlinux-7c400018c003d221a2db1ce46a5b88d7a37add1c.tar.xz
linux-7c400018c003d221a2db1ce46a5b88d7a37add1c.zip
net: dsa: mv88e6xxx: flush all addresses when adding a VLAN
When choosing an address database for a new VLAN, flush every entries, not only the non-static ones. Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa')
-rw-r--r--drivers/net/dsa/mv88e6xxx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c
index 38c8d4ab296e..88d669c9a200 100644
--- a/drivers/net/dsa/mv88e6xxx.c
+++ b/drivers/net/dsa/mv88e6xxx.c
@@ -1630,7 +1630,8 @@ static int _mv88e6xxx_vlan_init(struct dsa_switch *ds, u16 vid,
return -ENOSPC;
}
- err = _mv88e6xxx_flush_fid(ds, vlan.fid);
+ /* Clear all MAC addresses from the new database */
+ err = _mv88e6xxx_atu_flush(ds, vlan.fid, true);
if (err)
return err;