[PATCH net 02/11] net: au1000: clear all-multicast mode when restoring hash filtering
From: Florian Fainelli
Date: Tue Oct 27 2026 - 18:36:23 EST
MAC_PASS_ALL_MULTI remains set after IFF_ALLMULTI is cleared or the
multicast list shrinks below the filter limit. Clear it when programming
the selective multicast hash so unwanted multicast traffic is filtered
again.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
---
drivers/net/ethernet/amd/au1000_eth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/amd/au1000_eth.c b/drivers/net/ethernet/amd/au1000_eth.c
index cd25248f4e3a..58bc8e1b539d 100644
--- a/drivers/net/ethernet/amd/au1000_eth.c
+++ b/drivers/net/ethernet/amd/au1000_eth.c
@@ -1042,7 +1042,7 @@ static void au1000_multicast_list(struct net_device *dev)
(long *)mc_filter);
writel(mc_filter[1], &aup->mac->multi_hash_high);
writel(mc_filter[0], &aup->mac->multi_hash_low);
- reg &= ~MAC_PROMISCUOUS;
+ reg &= ~(MAC_PROMISCUOUS | MAC_PASS_ALL_MULTI);
reg |= MAC_HASH_MODE;
}
writel(reg, &aup->mac->control);
--
2.53.0