net/ixgbe/base: support busy SGMII register reads
Read and store NW_MNG_IF_SEL register because register fields are used to determine SGMII link for busy SGMII register reads. Signed-off-by: Wei Dai <wei.dai@intel.com>
This commit is contained in:
parent
fa4ccb68e0
commit
8ccdd7bf94
@ -2444,6 +2444,9 @@ s32 ixgbe_init_phy_ops_X550em(struct ixgbe_hw *hw)
|
||||
|
||||
DEBUGFUNC("ixgbe_init_phy_ops_X550em");
|
||||
|
||||
hw->mac.ops.set_lan_id(hw);
|
||||
ixgbe_read_mng_if_sel_x550em(hw);
|
||||
|
||||
if (hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) {
|
||||
phy->phy_semaphore_mask = IXGBE_GSSR_SHARED_I2C_SM;
|
||||
ixgbe_setup_mux_ctl(hw);
|
||||
@ -2483,7 +2486,8 @@ 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)
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user