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)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Jan 2015 21:54:23 +0000 (16:54 -0500)
commit25906052d953d3fbdb7e19480b9de5e6bb949f3f
tree6ec171a214475a4d6b6711d739dd89fd8c9a4677
parentfd48e639dfd3e86dd85bdeb40512a44b74b02e6f
drivers: net: cpsw: fix multicast flush in dual emac mode

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)
Cc: <stable@vger.kernel.org> # v3.9+
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/cpsw_ale.h