diff options
author | Egil Hjelmeland <privat@egil-hjelmeland.no> | 2017-11-08 11:44:36 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-11-13 09:59:07 +0900 |
commit | 30482e4e2885bc71d058241d5aa1691480c8f938 (patch) | |
tree | ca1fb3bdd674b623dffe1a6d5e7add91ae197437 | |
parent | fdae5f37a88caed9d2105f5a1ff609322f9e5416 (diff) |
net: dsa: lan9303: Fix lan9303_alr_del_port()
Fix embarrassing bug in lan9303_alr_del_port(): Instead of zeroing
entr->mac_addr, I destroyed the next cache entry. Affected .port_fdb_del and
.port_mdb_del.
Fixes: 0620427ea0d6 ("net: dsa: lan9303: Add fdb/mdb manipulation")
Signed-off-by: Egil Hjelmeland <privat@egil-hjelmeland.no>
Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/dsa/lan9303-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c index 6d7dee67d822..a2610085e7ba 100644 --- a/drivers/net/dsa/lan9303-core.c +++ b/drivers/net/dsa/lan9303-core.c @@ -719,7 +719,7 @@ static int lan9303_alr_del_port(struct lan9303 *chip, const u8 *mac, int port) entr->port_map &= ~BIT(port); if (entr->port_map == 0) /* zero means its free again */ - eth_zero_addr(&entr->port_map); + eth_zero_addr(entr->mac_addr); lan9303_alr_set_entry(chip, mac, entr->port_map, entr->stp_override); return 0; |