mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode
[ Upstream commit9737cc99dd] After flushing all mcast entries from the table, the ones contained in mc list of ndev are not restored when promisc mode is toggled off, because they are considered as synched with ALE, thus, in order to restore them after promisc mode - reset syncing info. This fix touches only switch mode devices, including single port boards like Beagle Bone. Fixes: commit5da1948969("net: ethernet: ti: cpsw: fix lost of mcast packets while rx_mode update") Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7c01143511
commit
e79d230832
@@ -642,6 +642,7 @@ static void cpsw_set_promiscious(struct net_device *ndev, bool enable)
|
||||
|
||||
/* Clear all mcast from ALE */
|
||||
cpsw_ale_flush_multicast(ale, ALE_ALL_PORTS, -1);
|
||||
__dev_mc_unsync(ndev, NULL);
|
||||
|
||||
/* Flood All Unicast Packets to Host port */
|
||||
cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 1);
|
||||
|
||||
Reference in New Issue
Block a user