Re: [PATCH net] idpf: reset mb_wait_count once the mailbox is up
From: Tony Nguyen
Date: Fri Nov 13 2026 - 14:49:01 EST
On 11/13/2026 9:42 AM, Simon Horman wrote:
On Mon, Nov 09, 2026 at 06:43:27AM -0800, Breno Leitao wrote:
idpf_vc_core_init() retries a failed virtchnl version and capabilities
handshake up to IDPF_MB_MAX_ERR times before it gives up on the device.
Each failure increments adapter->mb_wait_count, but nothing ever clears
it, so the limit is shared by every initialization in the lifetime of
the adapter, including the one done by each reset.
A device that fails the first handshake after a reset, and then
recovers on the retry, leaves one count behind per reset. Once 20 have
accumulated, the next failure is final, and the device stays down until
the driver is reloaded. This is seen in Meta's fleet on hosts with
recurring Tx timeouts:
[ 2176.496801] idpf 0016:01:00.0 eth1: Detected Tx timeout: Count 21, Queue 11
[ 2176.508763] idpf 0016:01:00.0: Device HW Reset initiated
[ 2237.412541] idpf 0016:01:00.0: Transaction timed-out (op:1 cookie:9800 vc_op:1 salt:98 timeout:60000ms)
[ 2237.412578] idpf 0016:01:00.0: Failed to establish mailbox communications with hardware
Clear mb_wait_count once the handshake succeeds, so the limit applies
to consecutive failures only.
Fixes: 4930fbf419a7 ("idpf: add core init and interrupt request")
Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
Tony, maybe this should be routed via the iwl tree?
Hi Simon,
Yea, I'll take this through IWL.
Thanks,
Tony