Commit 08771bce authored by Anirudh Venkataramanan's avatar Anirudh Venkataramanan Committed by Tony Nguyen

ice: Continue probe on link/PHY errors

An incorrect NVM update procedure can result in the driver failing probe.
In this case, the recommended resolution method is to update the NVM
using the right procedure. However, if the driver fails probe, the user
will not be able to update the NVM. So do not fail probe on link/PHY
errors.

Fixes: 1a3571b5 ("ice: restore PHY settings on media insertion")
Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: default avatarTony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 1b479fb8
...@@ -4192,28 +4192,25 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent) ...@@ -4192,28 +4192,25 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
goto err_send_version_unroll; goto err_send_version_unroll;
} }
/* not a fatal error if this fails */
err = ice_init_nvm_phy_type(pf->hw.port_info); err = ice_init_nvm_phy_type(pf->hw.port_info);
if (err) { if (err)
dev_err(dev, "ice_init_nvm_phy_type failed: %d\n", err); dev_err(dev, "ice_init_nvm_phy_type failed: %d\n", err);
goto err_send_version_unroll;
}
/* not a fatal error if this fails */
err = ice_update_link_info(pf->hw.port_info); err = ice_update_link_info(pf->hw.port_info);
if (err) { if (err)
dev_err(dev, "ice_update_link_info failed: %d\n", err); dev_err(dev, "ice_update_link_info failed: %d\n", err);
goto err_send_version_unroll;
}
ice_init_link_dflt_override(pf->hw.port_info); ice_init_link_dflt_override(pf->hw.port_info);
/* if media available, initialize PHY settings */ /* if media available, initialize PHY settings */
if (pf->hw.port_info->phy.link_info.link_info & if (pf->hw.port_info->phy.link_info.link_info &
ICE_AQ_MEDIA_AVAILABLE) { ICE_AQ_MEDIA_AVAILABLE) {
/* not a fatal error if this fails */
err = ice_init_phy_user_cfg(pf->hw.port_info); err = ice_init_phy_user_cfg(pf->hw.port_info);
if (err) { if (err)
dev_err(dev, "ice_init_phy_user_cfg failed: %d\n", err); dev_err(dev, "ice_init_phy_user_cfg failed: %d\n", err);
goto err_send_version_unroll;
}
if (!test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, pf->flags)) { if (!test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, pf->flags)) {
struct ice_vsi *vsi = ice_get_main_vsi(pf); struct ice_vsi *vsi = ice_get_main_vsi(pf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment