linux/drivers/net/dsa
Egil Hjelmeland 3c91b0c1de net: dsa: lan9303: Do not disable switch fabric port 0 at .probe
Make the LAN9303 work when lan9303_probe() is called twice.

For some unknown reason the LAN9303 switch fail to forward data when switch
fabric port 0 TX is disabled during probe. (Write of LAN9303_MAC_TX_CFG_0
in lan9303_disable_processing_port().)

In that situation the switch fabric seem to receive frames, because the ALR
is learning addresses. But no frames are transmitted on any of the ports.

In our system lan9303_probe() is called twice, first time
dsa_register_switch() return -EPROBE_DEFER. As an experiment, modified the
code to skip writing LAN9303_MAC_TX_CFG_0, port 0 during the first probe.
Then the switch works as expected.

Resolve the problem by not calling lan9303_disable_processing_port() on
port 0 during probe. Ports 1 and 2 are still disabled.

Although unsatisfying that the exact failure mechanism is not known,
the patch should not cause any harm.

Signed-off-by: Egil Hjelmeland <privat@egil-hjelmeland.no>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-10-26 17:40:32 +09:00
..
b53 net: dsa: add dsa_to_port helper 2017-10-18 12:24:33 +01:00
microchip net: dsa: Move FDB dump implementation inside DSA 2017-08-07 14:48:48 -07:00
mv88e6xxx net: dsa: add dsa_to_port helper 2017-10-18 12:24:33 +01:00
bcm_sf2_cfp.c net: dsa: bcm_sf2: Allow matching arbitrary IPv6 masks/lengths 2017-10-23 03:06:47 +01:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Allow matching arbitrary IPv4 mask lengths 2017-10-23 03:06:47 +01:00
bcm_sf2.c net: dsa: bcm_sf2: Add support for IPv6 CFP rules 2017-10-23 03:06:47 +01:00
bcm_sf2.h net: dsa: bcm_sf2: Add support for IPv6 CFP rules 2017-10-23 03:06:47 +01:00
dsa_loop_bdinfo.c net: dsa: Mock-up driver 2017-04-01 12:39:32 -07:00
dsa_loop.c net: dsa: dsa_loop: remove .set_addr 2017-10-14 18:30:06 -07:00
dsa_loop.h net: dsa: Mock-up driver 2017-04-01 12:39:32 -07:00
Kconfig dsa: add DSA switch driver for Microchip KSZ9477 2017-05-31 20:56:31 -04:00
lan9303_i2c.c net: dsa: lan9303: MDIO access phy registers directly 2017-07-30 19:23:29 -07:00
lan9303_mdio.c net: dsa: lan9303: make functions lan9303_mdio_phy_{read|write} static 2017-10-03 10:20:12 -07:00
lan9303-core.c net: dsa: lan9303: Do not disable switch fabric port 0 at .probe 2017-10-26 17:40:32 +09:00
lan9303.h net: dsa: lan9303: Add fdb/mdb manipulation 2017-10-22 02:41:30 +01:00
Makefile dsa: add DSA switch driver for Microchip KSZ9477 2017-05-31 20:56:31 -04:00
mt7530.c net: dsa: add dsa_to_port helper 2017-10-18 12:24:33 +01:00
mt7530.h net: dsa: mediatek: add adjust link support for user ports 2017-08-08 18:01:25 -07:00
mv88e6060.c net: dsa: add dsa_to_port helper 2017-10-18 12:24:33 +01:00
mv88e6060.h net: dsa: Keep the mii bus and address in the private structure 2016-04-13 18:15:23 -04:00
qca8k.c net: dsa: add dsa_to_port helper 2017-10-18 12:24:33 +01:00
qca8k.h net: dsa: call phy_init_eee in DSA layer 2017-08-01 20:09:10 -07:00