Skip to content

Commit dc88126

Browse files
sylwesterdziedziuchanguy11
authored andcommitted
i40e: Fix VFs not created
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: a7542b8 ("i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask") Signed-off-by: Sylwester Dziedziuch <[email protected]> Tested-by: Konrad Jankowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent 28b1208 commit dc88126

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

drivers/net/ethernet/intel/i40e/i40e_main.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2616,7 +2616,7 @@ static void i40e_sync_filters_subtask(struct i40e_pf *pf)
26162616
return;
26172617
if (!test_and_clear_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state))
26182618
return;
2619-
if (test_and_set_bit(__I40E_VF_DISABLE, pf->state)) {
2619+
if (test_bit(__I40E_VF_DISABLE, pf->state)) {
26202620
set_bit(__I40E_MACVLAN_SYNC_PENDING, pf->state);
26212621
return;
26222622
}
@@ -2634,7 +2634,6 @@ static void i40e_sync_filters_subtask(struct i40e_pf *pf)
26342634
}
26352635
}
26362636
}
2637-
clear_bit(__I40E_VF_DISABLE, pf->state);
26382637
}
26392638

26402639
/**

0 commit comments

Comments
 (0)