From ef9b72623bef5ff0e0dbc6d80a23929b2f5445a3 Mon Sep 17 00:00:00 2001 From: Bruce Allan Date: Wed, 1 Jul 2009 13:28:50 +0000 Subject: [PATCH] --- yaml --- r: 155008 b: refs/heads/master c: 906e8d9792b1c4a8b58c1383f4c00fc4c9936fc3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/e1000e/phy.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index bfcf43b4f490..d382db891993 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 28c9195a570a32de2760310ca278d44a4fd060a4 +refs/heads/master: 906e8d9792b1c4a8b58c1383f4c00fc4c9936fc3 diff --git a/trunk/drivers/net/e1000e/phy.c b/trunk/drivers/net/e1000e/phy.c index d8453946bff8..994401fd0664 100644 --- a/trunk/drivers/net/e1000e/phy.c +++ b/trunk/drivers/net/e1000e/phy.c @@ -1531,7 +1531,12 @@ s32 e1000e_phy_has_link_generic(struct e1000_hw *hw, u32 iterations, */ ret_val = e1e_rphy(hw, PHY_STATUS, &phy_status); if (ret_val) - break; + /* + * 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); ret_val = e1e_rphy(hw, PHY_STATUS, &phy_status); if (ret_val) break;