summaryrefslogtreecommitdiff
path: root/include/linux/greybus
diff options
context:
space:
mode:
authorHoratiu Vultur <horatiu.vultur@microchip.com>2023-05-22 14:00:38 +0200
committerPaolo Abeni <pabeni@redhat.com>2023-05-23 13:01:06 +0200
commit600761245952d7f70280add6ce02894f1528992b (patch)
tree549da383130230d1210346dcbad078b849f0852f /include/linux/greybus
parent18c40a1cc1d990c51381ef48cd93fdb31d5cd903 (diff)
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: db8bcaad5393 ("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>
Diffstat (limited to 'include/linux/greybus')
0 files changed, 0 insertions, 0 deletions