|
@@ -7641,7 +7641,6 @@ static int i40e_init_msix(struct i40e_pf *pf)
|
|
|
vectors_left--;
|
|
|
} else {
|
|
|
pf->num_fdsb_msix = 0;
|
|
|
- pf->flags &= ~I40E_FLAG_FD_SB_ENABLED;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -7738,7 +7737,6 @@ static int i40e_init_msix(struct i40e_pf *pf)
|
|
|
pf->num_fcoe_qps = 0;
|
|
|
pf->num_fcoe_msix = 0;
|
|
|
#endif
|
|
|
- pf->flags &= ~I40E_FLAG_FD_SB_ENABLED;
|
|
|
|
|
|
/* partition out the remaining vectors */
|
|
|
switch (vec) {
|
|
@@ -7770,6 +7768,10 @@ static int i40e_init_msix(struct i40e_pf *pf)
|
|
|
pf->num_vmdq_vsis = min_t(int, (vec / 2),
|
|
|
I40E_DEFAULT_NUM_VMDQ_VSI);
|
|
|
}
|
|
|
+ if (pf->flags & I40E_FLAG_FD_SB_ENABLED) {
|
|
|
+ pf->num_fdsb_msix = 1;
|
|
|
+ vec--;
|
|
|
+ }
|
|
|
pf->num_lan_msix = min_t(int,
|
|
|
(vec - (pf->num_iwarp_msix + pf->num_vmdq_vsis)),
|
|
|
pf->num_lan_msix);
|
|
@@ -7785,6 +7787,11 @@ static int i40e_init_msix(struct i40e_pf *pf)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if ((pf->flags & I40E_FLAG_FD_SB_ENABLED) &&
|
|
|
+ (pf->num_fdsb_msix == 0)) {
|
|
|
+ dev_info(&pf->pdev->dev, "Sideband Flowdir disabled, not enough MSI-X vectors\n");
|
|
|
+ pf->flags &= ~I40E_FLAG_FD_SB_ENABLED;
|
|
|
+ }
|
|
|
if ((pf->flags & I40E_FLAG_VMDQ_ENABLED) &&
|
|
|
(pf->num_vmdq_msix == 0)) {
|
|
|
dev_info(&pf->pdev->dev, "VMDq disabled, not enough MSI-X vectors\n");
|