Commit 8c5f48d9 authored by Jose Abreu's avatar Jose Abreu Committed by David S. Miller

net: stmmac: dwxgmac2: Also pass control frames while in promisc mode

In order for the selftests to run the Flow Control selftest we need to
also pass pause frames to the stack.

Pass this type of frames while in promiscuous mode.
Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
Cc: Joao Pinto <jpinto@synopsys.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2b783e61
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#define XGMAC_CORE_INIT_RX 0 #define XGMAC_CORE_INIT_RX 0
#define XGMAC_PACKET_FILTER 0x00000008 #define XGMAC_PACKET_FILTER 0x00000008
#define XGMAC_FILTER_RA BIT(31) #define XGMAC_FILTER_RA BIT(31)
#define XGMAC_FILTER_PCF BIT(7)
#define XGMAC_FILTER_PM BIT(4) #define XGMAC_FILTER_PM BIT(4)
#define XGMAC_FILTER_HMC BIT(2) #define XGMAC_FILTER_HMC BIT(2)
#define XGMAC_FILTER_PR BIT(0) #define XGMAC_FILTER_PR BIT(0)
......
...@@ -310,7 +310,7 @@ static void dwxgmac2_set_filter(struct mac_device_info *hw, ...@@ -310,7 +310,7 @@ static void dwxgmac2_set_filter(struct mac_device_info *hw,
u32 value = XGMAC_FILTER_RA; u32 value = XGMAC_FILTER_RA;
if (dev->flags & IFF_PROMISC) { if (dev->flags & IFF_PROMISC) {
value |= XGMAC_FILTER_PR; value |= XGMAC_FILTER_PR | XGMAC_FILTER_PCF;
} else if ((dev->flags & IFF_ALLMULTI) || } else if ((dev->flags & IFF_ALLMULTI) ||
(netdev_mc_count(dev) > HASH_TABLE_SIZE)) { (netdev_mc_count(dev) > HASH_TABLE_SIZE)) {
value |= XGMAC_FILTER_PM; value |= XGMAC_FILTER_PM;
......
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