|
@@ -3192,6 +3192,9 @@ static s32 ixgbe_init_phy_ops_X550em(struct ixgbe_hw *hw)
|
|
|
|
|
|
/* Identify the PHY or SFP module */
|
|
|
ret_val = phy->ops.identify(hw);
|
|
|
+ if (ret_val == IXGBE_ERR_SFP_NOT_SUPPORTED ||
|
|
|
+ ret_val == IXGBE_ERR_PHY_ADDR_INVALID)
|
|
|
+ return ret_val;
|
|
|
|
|
|
/* Setup function pointers based on detected hardware */
|
|
|
ixgbe_init_mac_link_ops_X550em(hw);
|
|
@@ -3394,9 +3397,10 @@ static s32 ixgbe_reset_hw_X550em(struct ixgbe_hw *hw)
|
|
|
ixgbe_clear_tx_pending(hw);
|
|
|
|
|
|
/* PHY ops must be identified and initialized prior to reset */
|
|
|
-
|
|
|
- /* Identify PHY and related function pointers */
|
|
|
status = hw->phy.ops.init(hw);
|
|
|
+ if (status == IXGBE_ERR_SFP_NOT_SUPPORTED ||
|
|
|
+ status == IXGBE_ERR_PHY_ADDR_INVALID)
|
|
|
+ return status;
|
|
|
|
|
|
/* start the external PHY */
|
|
|
if (hw->phy.type == ixgbe_phy_x550em_ext_t) {
|