mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
net: stmmac: dwmac4/5: Clear unused address entries
[ Upstream commit 0620ec6c62 ]
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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e20d2f994f
commit
e703ea55e7
@@ -443,14 +443,20 @@ static void dwmac4_set_filter(struct mac_device_info *hw,
|
||||
* are required
|
||||
*/
|
||||
value |= GMAC_PACKET_FILTER_PR;
|
||||
} else if (!netdev_uc_empty(dev)) {
|
||||
int reg = 1;
|
||||
} else {
|
||||
struct netdev_hw_addr *ha;
|
||||
int reg = 1;
|
||||
|
||||
netdev_for_each_uc_addr(ha, dev) {
|
||||
dwmac4_set_umac_addr(hw, ha->addr, reg);
|
||||
reg++;
|
||||
}
|
||||
|
||||
while (reg <= GMAC_MAX_PERFECT_ADDRESSES) {
|
||||
writel(0, ioaddr + GMAC_ADDR_HIGH(reg));
|
||||
writel(0, ioaddr + GMAC_ADDR_LOW(reg));
|
||||
reg++;
|
||||
}
|
||||
}
|
||||
|
||||
writel(value, ioaddr + GMAC_PACKET_FILTER);
|
||||
|
||||
Reference in New Issue
Block a user