Skip to content

Commit 1b3fa5c

Browse files
esbendavem330
authored andcommitted
net: ll_temac: Cleanup multicast filter on change
Avoid leaving old address table entries when using multicast. If more than one multicast address were removed, only the first removed address would actually be cleared. Signed-off-by: Esben Haabendal <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 1bd33bf commit 1b3fa5c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

drivers/net/ethernet/xilinx/ll_temac_main.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,10 +485,13 @@ static void temac_set_multicast_list(struct net_device *ndev)
485485
multi_addr_lsw);
486486
i++;
487487
}
488-
} else {
488+
}
489+
490+
/* Clear all or remaining/unused address table entries */
491+
while (i < MULTICAST_CAM_TABLE_NUM) {
489492
temac_indirect_out32_locked(lp, XTE_MAW0_OFFSET, 0);
490493
temac_indirect_out32_locked(lp, XTE_MAW1_OFFSET, i << 16);
491-
}
494+
i++;
492495
}
493496

494497
/* Enable address filter block if currently disabled */

0 commit comments

Comments
 (0)