net: stmmac: Clear receive all(RA) bit when promiscuous mode is off
authorRamesh Babu B <ramesh.babu.b@intel.com>
Tue, 4 May 2021 15:42:41 +0000 (21:12 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 May 2021 19:01:37 +0000 (12:01 -0700)
In promiscuous mode Receive All bit is set in GMAC packet filter register,
but outside promiscuous mode Receive All bit is not cleared,
which resulted in all network packets are received when toggle (ON/OFF)
the promiscuous mode.

Fixes: e0f9956a3862 ("net: stmmac: Add option for VLAN filter fail queue enable")
Signed-off-by: Ramesh Babu B <ramesh.babu.b@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c

index 95864f0..f35c03c 100644 (file)
@@ -642,6 +642,7 @@ static void dwmac4_set_filter(struct mac_device_info *hw,
        value &= ~GMAC_PACKET_FILTER_PCF;
        value &= ~GMAC_PACKET_FILTER_PM;
        value &= ~GMAC_PACKET_FILTER_PR;
+       value &= ~GMAC_PACKET_FILTER_RA;
        if (dev->flags & IFF_PROMISC) {
                /* VLAN Tag Filter Fail Packets Queuing */
                if (hw->vlan_fail_q_en) {