net: stmmac: gmac4+: Not all Unicast addresses may be available
authorJose Abreu <Jose.Abreu@synopsys.com>
Sun, 6 Oct 2019 11:08:56 +0000 (13:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:46:49 +0000 (14:46 +0100)
[ Upstream commit 25683bab09a70542b9f8e3e28f79b3369e56701f ]

Some setups may not have all Unicast addresses filters available. Check
the number of available filters before trying to setup it.

Fixes: 477286b53f55 ("stmmac: add GMAC4 core support")
Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c

index 8445af580cb69401fe4461853edf7ebd9c2a0467..e5566c121525d1739dec7b46c7102b703be31a8e 100644 (file)
@@ -438,7 +438,7 @@ static void dwmac4_set_filter(struct mac_device_info *hw,
        }
 
        /* Handle multiple unicast addresses */
-       if (netdev_uc_count(dev) > GMAC_MAX_PERFECT_ADDRESSES) {
+       if (netdev_uc_count(dev) > hw->unicast_filter_entries) {
                /* Switch to promiscuous mode if more than 128 addrs
                 * are required
                 */