]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: stmmac: dwmac1000: Clear unused address entries
authorJose Abreu <Jose.Abreu@synopsys.com>
Fri, 24 May 2019 08:20:21 +0000 (10:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2019 05:28:21 +0000 (07:28 +0200)
[ Upstream commit 9463c445590091202659cdfdd44b236acadfbd84 ]

In case we don't use a given address entry we need to clear it because
it could contain previous values that are no longer valid.

Found out while running stmmac selftests.

Signed-off-by: Jose 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: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c

index 540d21786a43b885fc98f2d5282538bf20792bfe..08dd6a06ac58d72727161c6526b7c2f7b02b3ab6 100644 (file)
@@ -217,6 +217,12 @@ static void dwmac1000_set_filter(struct mac_device_info *hw,
                                            GMAC_ADDR_LOW(reg));
                        reg++;
                }
+
+               while (reg <= perfect_addr_number) {
+                       writel(0, ioaddr + GMAC_ADDR_HIGH(reg));
+                       writel(0, ioaddr + GMAC_ADDR_LOW(reg));
+                       reg++;
+               }
        }
 
 #ifdef FRAME_FILTER_DEBUG