|
@@ -10183,6 +10183,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
int err;
|
|
|
u32 len;
|
|
|
u32 i;
|
|
|
+ u8 set_fc_aq_fail;
|
|
|
|
|
|
err = pci_enable_device_mem(pdev);
|
|
|
if (err)
|
|
@@ -10447,6 +10448,25 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
dev_info(&pdev->dev, "setup_pf_switch failed: %d\n", err);
|
|
|
goto err_vsis;
|
|
|
}
|
|
|
+
|
|
|
+ /* Make sure flow control is set according to current settings */
|
|
|
+ err = i40e_set_fc(hw, &set_fc_aq_fail, true);
|
|
|
+ if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_GET)
|
|
|
+ dev_dbg(&pf->pdev->dev,
|
|
|
+ "Set fc with err %s aq_err %s on get_phy_cap\n",
|
|
|
+ i40e_stat_str(hw, err),
|
|
|
+ i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
+ if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_SET)
|
|
|
+ dev_dbg(&pf->pdev->dev,
|
|
|
+ "Set fc with err %s aq_err %s on set_phy_config\n",
|
|
|
+ i40e_stat_str(hw, err),
|
|
|
+ i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
+ if (set_fc_aq_fail & I40E_SET_FC_AQ_FAIL_UPDATE)
|
|
|
+ dev_dbg(&pf->pdev->dev,
|
|
|
+ "Set fc with err %s aq_err %s on get_link_info\n",
|
|
|
+ i40e_stat_str(hw, err),
|
|
|
+ i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
+
|
|
|
/* if FDIR VSI was set up, start it now */
|
|
|
for (i = 0; i < pf->num_alloc_vsi; i++) {
|
|
|
if (pf->vsi[i] && pf->vsi[i]->type == I40E_VSI_FDIR) {
|