diff options
Diffstat (limited to 'drivers/net/e1000e/ich8lan.c')
| -rw-r--r-- | drivers/net/e1000e/ich8lan.c | 16 | 
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/net/e1000e/ich8lan.c b/drivers/net/e1000e/ich8lan.c index ce1dbfdca11..3369d1f6a39 100644 --- a/drivers/net/e1000e/ich8lan.c +++ b/drivers/net/e1000e/ich8lan.c @@ -338,7 +338,7 @@ static s32 e1000_init_phy_params_pchlan(struct e1000_hw *hw)  	/* Ungate automatic PHY configuration on non-managed 82579 */  	if ((hw->mac.type == e1000_pch2lan) &&  	    !(fwsm & E1000_ICH_FWSM_FW_VALID)) { -		msleep(10); +		usleep_range(10000, 20000);  		e1000_gate_hw_phy_config_ich8lan(hw, false);  	} @@ -427,7 +427,7 @@ static s32 e1000_init_phy_params_ich8lan(struct e1000_hw *hw)  	phy->id = 0;  	while ((e1000_phy_unknown == e1000e_get_phy_type_from_id(phy->id)) &&  	       (i++ < 100)) { -		msleep(1); +		usleep_range(1000, 2000);  		ret_val = e1000e_get_phy_id(hw);  		if (ret_val)  			return ret_val; @@ -564,6 +564,8 @@ static s32 e1000_init_mac_params_ich8lan(struct e1000_adapter *adapter)  		mac->ops.check_mng_mode = e1000_check_mng_mode_ich8lan;  		/* ID LED init */  		mac->ops.id_led_init = e1000e_id_led_init; +		/* blink LED */ +		mac->ops.blink_led = e1000e_blink_led_generic;  		/* setup LED */  		mac->ops.setup_led = e1000e_setup_led_generic;  		/* cleanup LED */ @@ -767,6 +769,8 @@ static s32 e1000_get_variants_ich8lan(struct e1000_adapter *adapter)  	     (!(er32(CTRL_EXT) & E1000_CTRL_EXT_LSECCK)))) {  		adapter->flags &= ~FLAG_HAS_JUMBO_FRAMES;  		adapter->max_hw_frame_size = ETH_FRAME_LEN + ETH_FCS_LEN; + +		hw->mac.ops.blink_led = NULL;  	}  	if ((adapter->hw.mac.type == e1000_ich8lan) && @@ -1704,7 +1708,7 @@ static s32 e1000_post_phy_reset_ich8lan(struct e1000_hw *hw)  		goto out;  	/* Allow time for h/w to get to quiescent state after reset */ -	msleep(10); +	usleep_range(10000, 20000);  	/* Perform any necessary post-reset workarounds */  	switch (hw->mac.type) { @@ -1737,7 +1741,7 @@ static s32 e1000_post_phy_reset_ich8lan(struct e1000_hw *hw)  	if (hw->mac.type == e1000_pch2lan) {  		/* Ungate automatic PHY configuration on non-managed 82579 */  		if (!(er32(FWSM) & E1000_ICH_FWSM_FW_VALID)) { -			msleep(10); +			usleep_range(10000, 20000);  			e1000_gate_hw_phy_config_ich8lan(hw, false);  		} @@ -2532,7 +2536,7 @@ release:  	 */  	if (!ret_val) {  		e1000e_reload_nvm(hw); -		msleep(10); +		usleep_range(10000, 20000);  	}  out: @@ -3009,7 +3013,7 @@ static s32 e1000_reset_hw_ich8lan(struct e1000_hw *hw)  	ew32(TCTL, E1000_TCTL_PSP);  	e1e_flush(); -	msleep(10); +	usleep_range(10000, 20000);  	/* Workaround for ICH8 bit corruption issue in FIFO memory */  	if (hw->mac.type == e1000_ich8lan) {  |