]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: mana: Trigger VF reset/recovery on health check failure due to HWC timeout
authorDipayaan Roy <dipayanroy@linux.microsoft.com>
Fri, 27 Feb 2026 08:15:02 +0000 (00:15 -0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 3 Mar 2026 10:14:22 +0000 (11:14 +0100)
commit2b12ffb669553972f5cd017c69a2b81593b09106
treef6acfc61c51075e8c6350a5ce9976b76ad5bfa18
parentc69855ada28656fdd7e197b6e24cd40a04fe14d3
net: mana: Trigger VF reset/recovery on health check failure due to HWC timeout

The GF stats periodic query is used as mechanism to monitor HWC health
check. If this HWC command times out, it is a strong indication that
the device/SoC is in a faulty state and requires recovery.

Today, when a timeout is detected, the driver marks
hwc_timeout_occurred, clears cached stats, and stops rescheduling the
periodic work. However, the device itself is left in the same failing
state.

Extend the timeout handling path to trigger the existing MANA VF
recovery service by queueing a GDMA_EQE_HWC_RESET_REQUEST work item.
This is expected to initiate the appropriate recovery flow by suspende
resume first and if it fails then trigger a bus rescan.

This change is intentionally limited to HWC command timeouts and does
not trigger recovery for errors reported by the SoC as a normal command
response.

Signed-off-by: Dipayaan Roy <dipayanroy@linux.microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/aaFShvKnwR5FY8dH@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/microsoft/mana/gdma_main.c
drivers/net/ethernet/microsoft/mana/mana_en.c
include/net/mana/gdma.h