net: ethernet: stmmac: Disable hardware multicast filter
authorJonathan McDowell <noodles@earth.li>
Wed, 12 Aug 2020 19:37:23 +0000 (20:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 09:05:31 +0000 (11:05 +0200)
commit26f0092f35e239e072276aa6c33e7d90bf0ac66e
treeafe232663db4cc3c293c63544ec618e3a390c44a
parent62f8d71408990bc26690e02370c1ae7973625d2b
net: ethernet: stmmac: Disable hardware multicast filter

commit df43dd526e6609769ae513a81443c7aa727c8ca3 upstream.

The IPQ806x does not appear to have a functional multicast ethernet
address filter. This was observed as a failure to correctly receive IPv6
packets on a LAN to the all stations address. Checking the vendor driver
shows that it does not attempt to enable the multicast filter and
instead falls back to receiving all multicast packets, internally
setting ALLMULTI.

Use the new fallback support in the dwmac1000 driver to correctly
achieve the same with the mainline IPQ806x driver. Confirmed to fix IPv6
functionality on an RB3011 router.

Cc: stable@vger.kernel.org
Signed-off-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c