linux/drivers/net/ethernet/marvell
Sathesh B Edara 34f42736b3 octeon_ep: Fix host hang issue during device reboot
When the host loses heartbeat messages from the device,
the driver calls the device-specific ndo_stop function,
which frees the resources. If the driver is unloaded in
this scenario, it calls ndo_stop again, attempting to free
resources that have already been freed, leading to a host
hang issue. To resolve this, dev_close should be called
instead of the device-specific stop function.dev_close
internally calls ndo_stop to stop the network interface
and performs additional cleanup tasks. During the driver
unload process, if the device is already down, ndo_stop
is not called.

Fixes: 5cb96c29aa ("octeon_ep: add heartbeat monitor")
Signed-off-by: Sathesh B Edara <sedara@marvell.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250429114624.19104-1-sedara@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-05-01 07:11:44 -07:00
..
mvpp2 net: mvpp2: Prevent parser TCAM memory corruption 2025-04-02 16:26:26 -07:00
octeon_ep octeon_ep: Fix host hang issue during device reboot 2025-05-01 07:11:44 -07:00
octeon_ep_vf octeon_ep_vf: Resolve netdevice usage count issue 2025-04-25 18:46:41 -07:00
octeontx2 octeontx2-pf: handle otx2_mbox_get_rsp errors 2025-04-15 17:13:51 -07:00
prestera net: rename netns_local to netns_immutable 2025-03-04 12:44:48 +01:00
Kconfig octeon_ep_vf: Add driver framework and device initialization 2024-02-12 09:01:52 +00:00
Makefile octeon_ep_vf: Add driver framework and device initialization 2024-02-12 09:01:52 +00:00
mv643xx_eth.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mvmdio.c net: ethernet: Switch back to struct platform_driver::remove() 2024-10-04 16:39:56 -07:00
mvneta.c net: mvneta: Add metadata support for xdp mode 2025-03-25 04:35:41 -07:00
mvneta_bm.c net: ethernet: Switch back to struct platform_driver::remove() 2024-10-04 16:39:56 -07:00
mvneta_bm.h
pxa168_eth.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
skge.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
skge.h
sky2.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
sky2.h sky2: Make sure there is at least one frag_addr available 2023-10-02 08:03:52 +01:00