|
@@ -6889,8 +6889,7 @@ static void i40e_reset_and_rebuild(struct i40e_pf *pf, bool reinit)
|
|
|
wr32(hw, I40E_REG_MSS, val);
|
|
|
}
|
|
|
|
|
|
- if (((pf->hw.aq.fw_maj_ver == 4) && (pf->hw.aq.fw_min_ver < 33)) ||
|
|
|
- (pf->hw.aq.fw_maj_ver < 4)) {
|
|
|
+ if (pf->flags & I40E_FLAG_RESTART_AUTONEG) {
|
|
|
msleep(75);
|
|
|
ret = i40e_aq_set_link_restart_an(&pf->hw, true, NULL);
|
|
|
if (ret)
|
|
@@ -8367,6 +8366,12 @@ static int i40e_sw_init(struct i40e_pf *pf)
|
|
|
pf->hw.func_caps.fd_filters_best_effort;
|
|
|
}
|
|
|
|
|
|
+ if (((pf->hw.mac.type == I40E_MAC_X710) ||
|
|
|
+ (pf->hw.mac.type == I40E_MAC_XL710)) &&
|
|
|
+ (((pf->hw.aq.fw_maj_ver == 4) && (pf->hw.aq.fw_min_ver < 33)) ||
|
|
|
+ (pf->hw.aq.fw_maj_ver < 4)))
|
|
|
+ pf->flags |= I40E_FLAG_RESTART_AUTONEG;
|
|
|
+
|
|
|
if (pf->hw.func_caps.vmdq) {
|
|
|
pf->num_vmdq_vsis = I40E_DEFAULT_NUM_VMDQ_VSI;
|
|
|
pf->flags |= I40E_FLAG_VMDQ_ENABLED;
|
|
@@ -10904,8 +10909,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
wr32(hw, I40E_REG_MSS, val);
|
|
|
}
|
|
|
|
|
|
- if (((pf->hw.aq.fw_maj_ver == 4) && (pf->hw.aq.fw_min_ver < 33)) ||
|
|
|
- (pf->hw.aq.fw_maj_ver < 4)) {
|
|
|
+ if (pf->flags & I40E_FLAG_RESTART_AUTONEG) {
|
|
|
msleep(75);
|
|
|
err = i40e_aq_set_link_restart_an(&pf->hw, true, NULL);
|
|
|
if (err)
|