drivers: net: cpsw: fix multicast flush in dual emac mode
authorMugunthan V N <mugunthanvnm@ti.com>
Tue, 13 Jan 2015 12:05:49 +0000 (17:35 +0530)
committerJiri Slaby <jslaby@suse.cz>
Wed, 28 Jan 2015 08:27:36 +0000 (09:27 +0100)
commit487873cff553e57b6c199b646c4d1561f2db8604
tree17d0757d29c952f6d264f36c3a9d69a1a1ba44ff
parentda5c0ae9a3434ad6d27c8010116ef05195862355
drivers: net: cpsw: fix multicast flush in dual emac mode

commit 25906052d953d3fbdb7e19480b9de5e6bb949f3f upstream.

Since ALE table is a common resource for both the interfaces in Dual EMAC
mode and while bringing up the second interface in cpsw_ndo_set_rx_mode()
all the multicast entries added by the first interface is flushed out and
only second interface multicast addresses are added. Fixing this by
flushing multicast addresses based on dual EMAC port vlans which will not
affect the other emac port multicast addresses.

Fixes: d9ba8f9 (driver: net: ethernet: cpsw: dual emac interface implementation)
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/cpsw_ale.h