linux-stable/drivers/net/ethernet/microchip
Horatiu Vultur 6007612459 lan966x: Fix unloading/loading of the driver
It was noticing that after a while when unloading/loading the driver and
sending traffic through the switch, it would stop working. It would stop
forwarding any traffic and the only way to get out of this was to do a
power cycle of the board. The root cause seems to be that the switch
core is initialized twice. Apparently initializing twice the switch core
disturbs the pointers in the queue systems in the HW, so after a while
it would stop sending the traffic.
Unfortunetly, it is not possible to use a reset of the switch here,
because the reset line is connected to multiple devices like MDIO,
SGPIO, FAN, etc. So then all the devices will get reseted when the
network driver will be loaded.
So the fix is to check if the core is initialized already and if that is
the case don't initialize it again.

Fixes: db8bcaad53 ("net: lan966x: add the basic lan966x driver")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/20230522120038.3749026-1-horatiu.vultur@microchip.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-05-23 13:01:06 +02:00
..
lan966x lan966x: Fix unloading/loading of the driver 2023-05-23 13:01:06 +02:00
sparx5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-03-09 22:22:11 -08:00
vcap net: lan966x: Add IS1 VCAP model 2023-03-10 16:44:24 -08:00
enc28j60.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
enc28j60_hw.h
encx24j600-regmap.c net: encx24j600: Fix invalid logic in reading of MISTAT register 2022-12-05 09:46:31 +00:00
encx24j600.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
encx24j600_hw.h
Kconfig net: microchip: sparx5: Adding initial VCAP API support 2022-10-24 10:37:42 +01:00
lan743x_ethtool.c net: lan743x: Add support to SGMII register dump for PCI11010/PCI11414 chips 2022-11-09 19:20:13 -08:00
lan743x_ethtool.h net: lan743x: Add support to SGMII register dump for PCI11010/PCI11414 chips 2022-11-09 19:20:13 -08:00
lan743x_main.c ethernet: remove superfluous clearing of phydev 2023-03-22 20:47:27 -07:00
lan743x_main.h net: lan743x: add generic implementation for phy interface selection 2023-01-19 13:50:11 +01:00
lan743x_ptp.c ptp: lan743x: use diff_by_scaled_ppm in .adjfine implementation 2022-10-31 11:14:16 +00:00
lan743x_ptp.h net: lan743x: Add support for PTP-IO Event Output (Periodic Output) 2022-03-18 12:53:23 +00:00
Makefile net: microchip: sparx5: Adding initial tc flower support for VCAP API 2022-10-24 10:37:43 +01:00