]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
net: dsa: lan9303: Fix lan9303_alr_del_port()
authorEgil Hjelmeland <privat@egil-hjelmeland.no>
Wed, 8 Nov 2017 10:44:36 +0000 (11:44 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Nov 2017 00:59:07 +0000 (09:59 +0900)
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>
drivers/net/dsa/lan9303-core.c

index 6d7dee67d822816d6d8a6c060674d2f4e755a51a..a2610085e7ba0ef82375df6d69ad394866506c62 100644 (file)
@@ -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;