drivers: net: cpsw: fix dual EMAC stall when connected to same switch
authorMugunthan V N <mugunthanvnm@ti.com>
Wed, 18 Jun 2014 11:51:48 +0000 (17:21 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Jul 2014 15:08:23 +0000 (08:08 -0700)
commit54e9c55c8bfa1e255d4ebd3291c13c22e359eb07
treed3e2332074aa004b396818372c45222de1abb872
parentf8e4d67de57bed98a22f2f55d45224497c6a0338
drivers: net: cpsw: fix dual EMAC stall when connected to same switch

[ Upstream commit e6afea0bbf129f88dc3fc39fd0d769f9ff064172 ]

In commit 629c9a8fd0bbdfc6d702526b327470166ec39c6b (drivers: net: cpsw: Add
default vlan for dual emac case also), api cpsw_add_default_vlan() also
changes the port vlan which is required to seperate the ports which results
in the following behavior

In Dual EMAC mode, when both the Etnernet connected is connected to same
switch, it creates a loop in the switch and when a broadcast packet is
received it is forwarded to the other port which stalls the whole switch
and needs a reset/power cycle to the switch to recover. So intead of using
the api, add only the default VLAN entry in dual EMAC case.

Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/ti/cpsw.c