diff options
author | yongari <yongari@FreeBSD.org> | 2008-08-12 00:57:39 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-08-12 00:57:39 +0000 |
commit | 6729081a3fa2f7016f1fd0b5d54fae0c34bfc3c8 (patch) | |
tree | 919937c2fbe787fd8b7708c5d6168a1f8d412be4 /sys/dev/mii | |
parent | 49faa385a7aaf2fb12467d595e9decb947a3a308 (diff) | |
download | FreeBSD-src-6729081a3fa2f7016f1fd0b5d54fae0c34bfc3c8.zip FreeBSD-src-6729081a3fa2f7016f1fd0b5d54fae0c34bfc3c8.tar.gz |
Restore link state handling which was broken in rev 1.69.
Also report current link state while auto-negotiation is in
progress.
With this change link loss should be reported within a second
and drivers that rely on link state should work.
Reported by: Pete French < petefrench at ticketswitch dot com >
Tested by: Pete French < petefrench at ticketswitch dot com >
MFC after: 1 week
Diffstat (limited to 'sys/dev/mii')
-rw-r--r-- | sys/dev/mii/brgphy.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index c7b4d1c..8884354 100644 --- a/sys/dev/mii/brgphy.c +++ b/sys/dev/mii/brgphy.c @@ -372,16 +372,13 @@ brgphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd) break; } -#if 0 - /* Todo: Is this correct? */ /* Announce link loss right after it happens. */ if (sc->mii_ticks++ == 0) break; -#endif /* Only retry autonegotiation every mii_anegticks seconds. */ if (sc->mii_ticks <= sc->mii_anegticks) - goto brgphy_service_exit; + break; /* Retry autonegotiation */ |