]> git.baikalelectronics.ru Git - kernel.git/commit
mvpp2: fix multicast address filter
authorMikulas Patocka <mpatocka@redhat.com>
Sun, 11 Feb 2018 23:10:28 +0000 (18:10 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Feb 2018 03:37:04 +0000 (22:37 -0500)
commit821169a71196121afe2b4cec8d4708c39cb97825
tree17d01d03f49fb628a0ed88bfc9778fb916f6c142
parentf1c3c38e72f7546a556148f14a27e6c155de507b
mvpp2: fix multicast address filter

IPv6 doesn't work on the MacchiatoBIN board. It is caused by broken
multicast address filter in the mvpp2 driver.

The driver loads doesn't load any multicast entries if "allmulti" is not
set. This condition should be reversed.

The condition !netdev_mc_empty(dev) is useless (because
netdev_for_each_mc_addr is nop if the list is empty).

This patch also fixes a possible overflow of the multicast list - if
mvpp2_prs_mac_da_accept fails, we set the allmulti flag and retry.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2.c