diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 53 | 
1 files changed, 3 insertions, 50 deletions
| diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 74b2c590ed5d..a5ebee7df4a8 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -6171,6 +6171,9 @@ u32 igc_rd32(struct igc_hw *hw, u32 reg)  	u8 __iomem *hw_addr = READ_ONCE(hw->hw_addr);  	u32 value = 0; +	if (IGC_REMOVED(hw_addr)) +		return ~value; +  	value = readl(&hw_addr[reg]);  	/* reads should not return all F's */ @@ -6187,56 +6190,6 @@ u32 igc_rd32(struct igc_hw *hw, u32 reg)  	return value;  } -int igc_set_spd_dplx(struct igc_adapter *adapter, u32 spd, u8 dplx) -{ -	struct igc_mac_info *mac = &adapter->hw.mac; - -	mac->autoneg = false; - -	/* Make sure dplx is at most 1 bit and lsb of speed is not set -	 * for the switch() below to work -	 */ -	if ((spd & 1) || (dplx & ~1)) -		goto err_inval; - -	switch (spd + dplx) { -	case SPEED_10 + DUPLEX_HALF: -		mac->forced_speed_duplex = ADVERTISE_10_HALF; -		break; -	case SPEED_10 + DUPLEX_FULL: -		mac->forced_speed_duplex = ADVERTISE_10_FULL; -		break; -	case SPEED_100 + DUPLEX_HALF: -		mac->forced_speed_duplex = ADVERTISE_100_HALF; -		break; -	case SPEED_100 + DUPLEX_FULL: -		mac->forced_speed_duplex = ADVERTISE_100_FULL; -		break; -	case SPEED_1000 + DUPLEX_FULL: -		mac->autoneg = true; -		adapter->hw.phy.autoneg_advertised = ADVERTISE_1000_FULL; -		break; -	case SPEED_1000 + DUPLEX_HALF: /* not supported */ -		goto err_inval; -	case SPEED_2500 + DUPLEX_FULL: -		mac->autoneg = true; -		adapter->hw.phy.autoneg_advertised = ADVERTISE_2500_FULL; -		break; -	case SPEED_2500 + DUPLEX_HALF: /* not supported */ -	default: -		goto err_inval; -	} - -	/* clear MDI, MDI(-X) override is only allowed when autoneg enabled */ -	adapter->hw.phy.mdix = AUTO_ALL_MODES; - -	return 0; - -err_inval: -	netdev_err(adapter->netdev, "Unsupported Speed/Duplex configuration\n"); -	return -EINVAL; -} -  /**   * igc_probe - Device Initialization Routine   * @pdev: PCI device information struct |