diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igb/igb_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 8 | 
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 105b0624081a..9148c62d9ac5 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -753,7 +753,8 @@ u32 igb_rd32(struct e1000_hw *hw, u32 reg)  		struct net_device *netdev = igb->netdev;  		hw->hw_addr = NULL;  		netdev_err(netdev, "PCIe link lost\n"); -		WARN(1, "igb: Failed to read reg 0x%x!\n", reg); +		WARN(pci_device_is_present(igb->pdev), +		     "igb: Failed to read reg 0x%x!\n", reg);  	}  	return value; @@ -2064,7 +2065,8 @@ static void igb_check_swap_media(struct igb_adapter *adapter)  	if ((hw->phy.media_type == e1000_media_type_copper) &&  	    (!(connsw & E1000_CONNSW_AUTOSENSE_EN))) {  		swap_now = true; -	} else if (!(connsw & E1000_CONNSW_SERDESD)) { +	} else if ((hw->phy.media_type != e1000_media_type_copper) && +		   !(connsw & E1000_CONNSW_SERDESD)) {  		/* copper signal takes time to appear */  		if (adapter->copper_tries < 4) {  			adapter->copper_tries++; @@ -2370,7 +2372,7 @@ void igb_reset(struct igb_adapter *adapter)  		adapter->ei.get_invariants(hw);  		adapter->flags &= ~IGB_FLAG_MEDIA_RESET;  	} -	if ((mac->type == e1000_82575) && +	if ((mac->type == e1000_82575 || mac->type == e1000_i350) &&  	    (adapter->flags & IGB_FLAG_MAS_ENABLE)) {  		igb_enable_mas(adapter);  	}  |