Skip to content

Commit 592d751

Browse files
u1f35cdavem330
authored andcommitted
net: stmmac: dwmac1000: provide multicast filter fallback
If we don't have a hardware multicast filter available then instead of silently failing to listen for the requested ethernet broadcast addresses fall back to receiving all multicast packets, in a similar fashion to other drivers with no multicast filter. Cc: [email protected] Signed-off-by: Jonathan McDowell <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 06a7a37 commit 592d751

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ static void dwmac1000_set_filter(struct mac_device_info *hw,
164164
value = GMAC_FRAME_FILTER_PR | GMAC_FRAME_FILTER_PCF;
165165
} else if (dev->flags & IFF_ALLMULTI) {
166166
value = GMAC_FRAME_FILTER_PM; /* pass all multi */
167+
} else if (!netdev_mc_empty(dev) && (mcbitslog2 == 0)) {
168+
/* Fall back to all multicast if we've no filter */
169+
value = GMAC_FRAME_FILTER_PM;
167170
} else if (!netdev_mc_empty(dev)) {
168171
struct netdev_hw_addr *ha;
169172

0 commit comments

Comments
 (0)