[Intel-wired-lan] [PATCH net v1] i40e: Fix VFs not created

Paul Menzel pmenzel at molgen.mpg.de
Mon Feb 15 07:46:08 UTC 2021


[+cc Stefan as author of commit under Fixes:]

Am 27.11.20 um 12:23 schrieb Mateusz Palczewski:
> From: Sylwester Dziedziuch <sylwesterx.dziedziuch at intel.com>
> 
> When creating VFs they were sometimes not getting resources.
> It was caused by not executing i40e_reset_all_vfs due to
> flag __I40E_VF_DISABLE being set on PF. Because of this
> IAVF was never able to finish setup sequence never
> getting reset indication from PF.
> Changed test_and_set_bit __I40E_VF_DISABLE in
> i40e_sync_filters_subtask to test_bit and removed clear_bit.
> This function should not set this bit it should only check
> if it hasn't been already set.
> 
> Fixes: a7542b876075 ("i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask")
> Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch at intel.com>
> ---
>   drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 5bee1de..a926331 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -2623,7 +2623,7 @@ static void i40e_sync_filters_subtask(struct i40e_pf *pf)
>   		return;
>   	if (!test_and_clear_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state))
>   		return;
> -	if (test_and_set_bit(__I40E_VF_DISABLE, pf->state)) {
> +	if (test_bit(__I40E_VF_DISABLE, pf->state)) {
>   		set_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state);
>   		return;
>   	}
> @@ -2641,7 +2641,6 @@ static void i40e_sync_filters_subtask(struct i40e_pf *pf)
>   			}
>   		}
>   	}
> -	clear_bit(__I40E_VF_DISABLE, pf->state);
>   }
>   
>   /**


More information about the Intel-wired-lan mailing list