net: dsa: mv88e6xxx: flush all addresses when adding a VLAN
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Fri, 4 Sep 2015 18:34:14 +0000 (14:34 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Sep 2015 19:04:21 +0000 (12:04 -0700)
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>
drivers/net/dsa/mv88e6xxx.c

index 38c8d4ab296ed717b44cde10371ad583345ccaab..88d669c9a200239155fd191d961138da02a0f9b0 100644 (file)
@@ -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;