linux-bl808/drivers/net/dsa
Vladimir Oltean 1a4c69406c net: dsa: sja1105: Prevent PHY jabbering during switch reset
Resetting the switch at runtime is currently done while changing the
vlan_filtering setting (due to the required TPID change).

But reset is asynchronous with packet egress, and the switch core will
not wait for egress to finish before carrying on with the reset
operation.

As a result, a connected PHY such as the BCM5464 would see an
unterminated Ethernet frame and start to jabber (repeat the last seen
Ethernet symbols - jabber is by definition an oversized Ethernet frame
with bad FCS). This behavior is strange in itself, but it also causes
the MACs of some link partners (such as the FRDM-LS1012A) to completely
lock up.

So as a remedy for this situation, when switch reset is required, simply
inhibit Tx on all ports, and wait for the necessary time for the
eventual one frame left in the egress queue (not even the Tx inhibit
command is instantaneous) to be flushed.

Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-05-03 10:49:17 -04:00
..
b53 net: dsa: b53: Use vlan_filtering property from dsa_switch 2019-04-30 23:05:29 -04:00
microchip net: dsa: microchip: mark expected switch fall-through 2019-04-03 21:38:29 -07:00
mv88e6xxx net: dsa: mv88e6xxx: Remove legacy probe support 2019-04-27 22:12:22 -04:00
sja1105 net: dsa: sja1105: Prevent PHY jabbering during switch reset 2019-05-03 10:49:17 -04:00
bcm_sf2.c net: dsa: bcm_sf2: Remove print of base address 2019-03-21 13:32:35 -07:00
bcm_sf2.h
bcm_sf2_cfp.c net: dsa: bcm_sf2: fix buffer overflow doing set_rxnfc 2019-04-30 11:02:37 -04:00
bcm_sf2_regs.h
dsa_loop.c
dsa_loop.h
dsa_loop_bdinfo.c
Kconfig net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch 2019-05-03 10:49:17 -04:00
lan9303-core.c dsa: Remove phydev parameter from disable_port call 2019-02-24 22:30:34 -08:00
lan9303.h
lan9303_i2c.c
lan9303_mdio.c
lantiq_gswip.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-02 12:54:35 -08:00
lantiq_pce.h
Makefile net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch 2019-05-03 10:49:17 -04:00
mt7530.c net: dsa: mt7530: Use the DSA vlan_filtering helper function 2019-04-30 23:05:29 -04:00
mt7530.h net: dsa: mt7530: Use the DSA vlan_filtering helper function 2019-04-30 23:05:29 -04:00
mv88e6060.c net: dsa: mv88e6060: Remove support for legacy probing 2019-04-30 23:13:33 -04:00
mv88e6060.h net: dsa: mv88e6060: Replace ds with priv 2019-04-27 20:23:04 -04:00
qca8k.c net: dsa: qca8k: extend slave-bus implementations 2019-03-26 10:47:10 -07:00
qca8k.h net: dsa: qca8k: extend slave-bus implementations 2019-03-26 10:47:10 -07:00
realtek-smi.c
realtek-smi.h
rtl8366.c
rtl8366rb.c dsa: Remove phydev parameter from disable_port call 2019-02-24 22:30:34 -08:00
vitesse-vsc73xx.c dsa: Remove phydev parameter from disable_port call 2019-02-24 22:30:34 -08:00