net: stmmac: fix missing IFF_MULTICAST check in dwmac4_set_filter
Without checking for IFF_MULTICAST flag, it is wrong to assume multicast
filtering is always enabled. By checking against IFF_MULTICAST, now
the driver behaves correctly when the multicast support is toggled by below
command:-
ip link set <devname> multicast off|on
Fixes: 477286b53f
("stmmac: add GMAC4 core support")
Signed-off-by: Verma, Aashish <aashishx.verma@intel.com>
Tested-by: Tan, Tee Min <tee.min.tan@intel.com>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
907a076881
commit
2ba31cd937
|
@ -420,7 +420,7 @@ static void dwmac4_set_filter(struct mac_device_info *hw,
|
||||||
value |= GMAC_PACKET_FILTER_PM;
|
value |= GMAC_PACKET_FILTER_PM;
|
||||||
/* Set all the bits of the HASH tab */
|
/* Set all the bits of the HASH tab */
|
||||||
memset(mc_filter, 0xff, sizeof(mc_filter));
|
memset(mc_filter, 0xff, sizeof(mc_filter));
|
||||||
} else if (!netdev_mc_empty(dev)) {
|
} else if (!netdev_mc_empty(dev) && (dev->flags & IFF_MULTICAST)) {
|
||||||
struct netdev_hw_addr *ha;
|
struct netdev_hw_addr *ha;
|
||||||
|
|
||||||
/* Hash filter for multicast */
|
/* Hash filter for multicast */
|
||||||
|
|
Loading…
Reference in New Issue