diff options
author | andre <andre@FreeBSD.org> | 2004-05-03 13:01:34 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2004-05-03 13:01:34 +0000 |
commit | f8ee348f1d1b903d0b117c893b5f73aed4e5bce8 (patch) | |
tree | ff1bd46cb26c67e03c65388e1a1f300a9c5b60d7 /sys/dev/mii/brgphy.c | |
parent | 0e0892f300c42840e39885a17d59d5cff2ed6c15 (diff) | |
download | FreeBSD-src-f8ee348f1d1b903d0b117c893b5f73aed4e5bce8.zip FreeBSD-src-f8ee348f1d1b903d0b117c893b5f73aed4e5bce8.tar.gz |
Correct the phy_service() routine case MII_TICK to correctly track
the falling edge of a media state change.
This is in preparation for media state change notification to the
routing socket.
No objections by: sam, wpaul, ru, bms
Brucification by: bde
Diffstat (limited to 'sys/dev/mii/brgphy.c')
-rw-r--r-- | sys/dev/mii/brgphy.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/mii/brgphy.c b/sys/dev/mii/brgphy.c index 6b4d38f..15ae23d 100644 --- a/sys/dev/mii/brgphy.c +++ b/sys/dev/mii/brgphy.c @@ -362,8 +362,8 @@ setit: /* * Only retry autonegotiation every 5 seconds. */ - if (++sc->mii_ticks != 5) - return (0); + if (++sc->mii_ticks <= 5) + break; sc->mii_ticks = 0; brgphy_mii_phy_auto(sc); @@ -381,7 +381,6 @@ setit: if (sc->mii_media_active != mii->mii_media_active || sc->mii_media_status != mii->mii_media_status || cmd == MII_MEDIACHG) { - mii_phy_update(sc, cmd); switch (brgphy_mii_model) { case MII_MODEL_xxBROADCOM_BCM5401: bcm5401_load_dspcode(sc); @@ -391,6 +390,7 @@ setit: break; } } + mii_phy_update(sc, cmd); return (0); } |