Commit efa5f131 authored by Patrick Thompson's avatar Patrick Thompson Committed by Paolo Abeni

net: r8169: Disable multicast filter for RTL8168H and RTL8107E

RTL8168H and RTL8107E ethernet adapters erroneously filter unicast
eapol packets unless allmulti is enabled. These devices correspond to
RTL_GIGA_MAC_VER_46 and VER_48. Add an exception for VER_46 and VER_48
in the same way that VER_35 has an exception.

Fixes: 6e1d0b89 ("r8169:add support for RTL8168H and RTL8107E")
Signed-off-by: default avatarPatrick Thompson <ptf@google.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Reviewed-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/20231030205031.177855-1-ptf@google.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent ff2c051f
...@@ -2584,7 +2584,9 @@ static void rtl_set_rx_mode(struct net_device *dev) ...@@ -2584,7 +2584,9 @@ static void rtl_set_rx_mode(struct net_device *dev)
rx_mode |= AcceptAllPhys; rx_mode |= AcceptAllPhys;
} else if (netdev_mc_count(dev) > MC_FILTER_LIMIT || } else if (netdev_mc_count(dev) > MC_FILTER_LIMIT ||
dev->flags & IFF_ALLMULTI || dev->flags & IFF_ALLMULTI ||
tp->mac_version == RTL_GIGA_MAC_VER_35) { tp->mac_version == RTL_GIGA_MAC_VER_35 ||
tp->mac_version == RTL_GIGA_MAC_VER_46 ||
tp->mac_version == RTL_GIGA_MAC_VER_48) {
/* accept all multicasts */ /* accept all multicasts */
} else if (netdev_mc_empty(dev)) { } else if (netdev_mc_empty(dev)) {
rx_mode &= ~AcceptMulticast; rx_mode &= ~AcceptMulticast;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment