Commit 34f42736 authored by Sathesh B Edara's avatar Sathesh B Edara Committed by Jakub Kicinski
Browse files

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: 5cb96c29 ("octeon_ep: add heartbeat monitor")
Signed-off-by: default avatarSathesh B Edara <sedara@marvell.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250429114624.19104-1-sedara@marvell.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a179aad1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1223,7 +1223,7 @@ static void octep_hb_timeout_task(struct work_struct *work)
		miss_cnt);
	rtnl_lock();
	if (netif_running(oct->netdev))
		octep_stop(oct->netdev);
		dev_close(oct->netdev);
	rtnl_unlock();
}