> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of Robert
> Malz
> Sent: Tuesday, May 20, 2025 10:32 AM
> To: [email protected]; [email protected]; Nguyen, Anthony 
> L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; Keller, Jacob E <[email protected]>
> Subject: [Intel-wired-lan] [PATCH v3 2/2] i40e: retry VFLR handling if there 
> is
> ongoing VF reset
> 
> When a VFLR interrupt is received during a VF reset initiated from a different
> source, the VFLR may be not fully handled. This can leave the VF in an 
> undefined
> state.
> To address this, set the I40E_VFLR_EVENT_PENDING bit again during VFLR
> handling if the reset is not yet complete. This ensures the driver will 
> properly
> complete the VF reset in such scenarios.
> 
> Fixes: 52424f974bc5 ("i40e: Fix VF hang when reset is triggered on another 
> VF")
> Signed-off-by: Robert Malz <[email protected]>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> index 22d5b1ec2289..88e6bef69342 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> @@ -4328,7 +4328,10 @@ int i40e_vc_process_vflr_event(struct i40e_pf *pf)
>               reg = rd32(hw, I40E_GLGEN_VFLRSTAT(reg_idx));
>               if (reg & BIT(bit_idx))
>                       /* i40e_reset_vf will clear the bit in GLGEN_VFLRSTAT */
> -                     i40e_reset_vf(vf, true);
> +                     if (!i40e_reset_vf(vf, true)) {
> +                             /* At least one VF did not finish resetting, 
> retry
> next time */
> +                             set_bit(__I40E_VFLR_EVENT_PENDING, pf-
> >state);
> +                     }
>       }
> 
>       return 0;
> --
> 2.34.1


Tested-by: Rafal Romanowski <[email protected]>


Reply via email to