Skip to content

Commit

Permalink
ice: Continue probe on link/PHY errors
Browse files Browse the repository at this point in the history
commit 08771bc upstream.

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: 1a3571b ("ice: restore PHY settings on media insertion")
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
refactorman authored and gregkh committed Apr 14, 2021
1 parent ac95dc7 commit ad8d37c
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions drivers/net/ethernet/intel/ice/ice_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4167,28 +4167,25 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
goto err_send_version_unroll;
}

/* not a fatal error if this fails */
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);
goto err_send_version_unroll;
}

/* not a fatal error if this fails */
err = ice_update_link_info(pf->hw.port_info);
if (err) {
if (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);

/* if media available, initialize PHY settings */
if (pf->hw.port_info->phy.link_info.link_info &
ICE_AQ_MEDIA_AVAILABLE) {
/* not a fatal error if this fails */
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);
goto err_send_version_unroll;
}

if (!test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, pf->flags)) {
struct ice_vsi *vsi = ice_get_main_vsi(pf);
Expand Down

0 comments on commit ad8d37c

Please sign in to comment.