diff mbox series

[net-next] net: dsa: lan9303: Fix lan9303_alr_del_port()

Message ID 20171108104436.12817-1-privat@egil-hjelmeland.no
State Accepted, archived
Delegated to: David Miller
Headers show
Series [net-next] net: dsa: lan9303: Fix lan9303_alr_del_port() | expand

Commit Message

Egil Hjelmeland Nov. 8, 2017, 10:44 a.m. UTC
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>
---
 drivers/net/dsa/lan9303-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vivien Didelot Nov. 8, 2017, 2:08 p.m. UTC | #1
Egil Hjelmeland <privat@egil-hjelmeland.no> writes:

> 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>
David Miller Nov. 13, 2017, 1:01 a.m. UTC | #2
From: Egil Hjelmeland <privat@egil-hjelmeland.no>
Date: Wed,  8 Nov 2017 11:44:36 +0100

> 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>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c
index 320651a57c6f..c0910aebc037 100644
--- a/drivers/net/dsa/lan9303-core.c
+++ b/drivers/net/dsa/lan9303-core.c
@@ -702,7 +702,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;