mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
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: 8a3b7a252d
("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240822154059.1066595-2-sean.anderson@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
a812a3f45c
commit
4ae738dfef
@ -450,6 +450,10 @@ static void axienet_set_multicast_list(struct net_device *ndev)
|
|||||||
} else if (!netdev_mc_empty(ndev)) {
|
} else if (!netdev_mc_empty(ndev)) {
|
||||||
struct netdev_hw_addr *ha;
|
struct netdev_hw_addr *ha;
|
||||||
|
|
||||||
|
reg = axienet_ior(lp, XAE_FMI_OFFSET);
|
||||||
|
reg &= ~XAE_FMI_PM_MASK;
|
||||||
|
axienet_iow(lp, XAE_FMI_OFFSET, reg);
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
netdev_for_each_mc_addr(ha, ndev) {
|
netdev_for_each_mc_addr(ha, ndev) {
|
||||||
if (i >= XAE_MULTICAST_CAM_TABLE_NUM)
|
if (i >= XAE_MULTICAST_CAM_TABLE_NUM)
|
||||||
|
Loading…
Reference in New Issue
Block a user