diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-13 16:26:19 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-12-13 16:26:19 +0100 |
commit | 0ccb9aebcd98d99fdc22d938240c65c7466e8146 (patch) | |
tree | a23f3fa6f3f251eaef352079402ebbe734038d43 /drivers/net/phy/phy.c | |
parent | 2c9ebcb856b4e4ae4e7b0201e23c34b50b680957 (diff) | |
parent | a1a50a465485dea02aa58ed861ae4594922e7c54 (diff) | |
download | barebox-0ccb9aebcd98d99fdc22d938240c65c7466e8146.tar.gz barebox-0ccb9aebcd98d99fdc22d938240c65c7466e8146.tar.xz |
Merge branch 'pu/net-link'
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r-- | drivers/net/phy/phy.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 9622455750..1cf2cb97a3 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -401,11 +401,14 @@ int genphy_setup_forced(struct phy_device *phydev) return err; } -static int phy_aneg_done(struct phy_device *phydev) +int phy_wait_aneg_done(struct phy_device *phydev) { uint64_t start = get_time_ns(); int ctl; + if (phydev->autoneg == AUTONEG_DISABLE) + return 0; + while (!is_timeout(start, PHY_AN_TIMEOUT * SECOND)) { ctl = phy_read(phydev, MII_BMSR); if (ctl & BMSR_ANEGCOMPLETE) { @@ -452,7 +455,7 @@ int genphy_restart_aneg(struct phy_device *phydev) if (ctl < 0) return ctl; - return phy_aneg_done(phydev); + return 0; } /** |