aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel/e1000e/phy.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-02-10 17:37:43 +0000
committerMark Brown <broonie@linaro.org>2014-02-10 17:37:43 +0000
commit4b9c8ddadce3ec70fa5d93875adeda861b21c84e (patch)
tree6ed53e819e5c763f751ff968a650b236d2d02545 /drivers/net/ethernet/intel/e1000e/phy.c
parent51ad557e21b8713f3abc286c14bca4ed01b8e56d (diff)
parent1569265782ef26ed77ce45ebeb0676f11d4c114a (diff)
Merge tag 'v3.10.29' into linux-linaro-lsk
This is the 3.10.29 stable release
Diffstat (limited to 'drivers/net/ethernet/intel/e1000e/phy.c')
-rw-r--r--drivers/net/ethernet/intel/e1000e/phy.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c
index 59c76a6815a..be4d7c1e3c1 100644
--- a/drivers/net/ethernet/intel/e1000e/phy.c
+++ b/drivers/net/ethernet/intel/e1000e/phy.c
@@ -1757,19 +1757,23 @@ s32 e1000e_phy_has_link_generic(struct e1000_hw *hw, u32 iterations,
* it across the board.
*/
ret_val = e1e_rphy(hw, MII_BMSR, &phy_status);
- if (ret_val)
+ if (ret_val) {
/* If the first read fails, another entity may have
* ownership of the resources, wait and try again to
* see if they have relinquished the resources yet.
*/
- udelay(usec_interval);
+ if (usec_interval >= 1000)
+ msleep(usec_interval / 1000);
+ else
+ udelay(usec_interval);
+ }
ret_val = e1e_rphy(hw, MII_BMSR, &phy_status);
if (ret_val)
break;
if (phy_status & BMSR_LSTATUS)
break;
if (usec_interval >= 1000)
- mdelay(usec_interval / 1000);
+ msleep(usec_interval / 1000);
else
udelay(usec_interval);
}