> ----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Aleksandr Loktionov
> Sent: Wednesday, April 8, 2026 6:12 AM
> To: [email protected]; Nguyen, Anthony L 
> <[email protected]>; Loktionov, Aleksandr 
> <[email protected]>
> Cc: [email protected]
> Subject: [Intel-wired-lan] [PATCH iwl-next v2 5/8] ixgbe: remove 
> ixgbe_ping_all_vfs() from link state change handlers
> 
> When multiple VFs are brought up simultaneously, a VF can receive a CTS 
> (Clear To Send) mailbox message instead of the expected RESET | (N)ACK 
> response, because the watchdog fires a gratuitous ping right as > the VF 
> mailbox transaction is in progress.
> 
> Remove the ixgbe_ping_all_vfs() call from both ixgbe_watchdog_link_is_up() 
> and ixgbe_watchdog_link_is_down().  Both paths contain an identical call with 
> the same race window during VF initialization: link-
> state changes (up or down) can arrive while VFs are mid-initialization, and 
> the gratuitous ping from either direction collides with the VF mailbox state 
> machine for the same reason.
> 
> Link-state changes are already communicated to VFs through the normal mailbox 
> protocol; these extra pings are redundant on both paths.
> 
> Suggested-by: Sebastian Basierski <[email protected]>
> Signed-off-by: Aleksandr Loktionov <[email protected]>
> ---
> v1 -> v2:
>  - Extend fix to also remove ixgbe_ping_all_vfs() from
>    ixgbe_watchdog_link_is_down(), which carries the same race window;
>    justifies the asymmetry by eliminating it.
> 
>  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 6 ------
>  1 file changed, 6 deletions(-)

Tested-by: Alexander Nowlin <[email protected]>

Reply via email to