Skip to content

Commit 4ae738d

Browse files
Sean Andersonkuba-moo
authored andcommitted
net: xilinx: axienet: Always disable promiscuous mode
If promiscuous mode is disabled when there are fewer than four multicast addresses, then it will not be reflected in the hardware. Fix this by always clearing the promiscuous mode flag even when we program multicast addresses. Fixes: 8a3b7a2 ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver") Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Horman <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent a812a3f commit 4ae738d

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/net/ethernet/xilinx/xilinx_axienet_main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,10 @@ static void axienet_set_multicast_list(struct net_device *ndev)
450450
} else if (!netdev_mc_empty(ndev)) {
451451
struct netdev_hw_addr *ha;
452452

453+
reg = axienet_ior(lp, XAE_FMI_OFFSET);
454+
reg &= ~XAE_FMI_PM_MASK;
455+
axienet_iow(lp, XAE_FMI_OFFSET, reg);
456+
453457
i = 0;
454458
netdev_for_each_mc_addr(ha, ndev) {
455459
if (i >= XAE_MULTICAST_CAM_TABLE_NUM)

0 commit comments

Comments
 (0)