diff options
author | yongari <yongari@FreeBSD.org> | 2007-11-16 10:39:18 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2007-11-16 10:39:18 +0000 |
commit | ff740908d9b07917cd6398166007f2491b63dcdc (patch) | |
tree | c04c3320806b69115b18c95823fed157f2173807 /sys/dev | |
parent | f73243cb8c1b9d46b7c9f8610c2016ee76b0b267 (diff) | |
download | FreeBSD-src-ff740908d9b07917cd6398166007f2491b63dcdc.zip FreeBSD-src-ff740908d9b07917cd6398166007f2491b63dcdc.tar.gz |
Reset autonegotation timer if media option is not IFM_AUTO.
Make mii_ticks advance, autonegiation is retried every
mii_anegticks seconds.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/mii/e1000phy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c index 91da628..ae45077 100644 --- a/sys/dev/mii/e1000phy.c +++ b/sys/dev/mii/e1000phy.c @@ -397,8 +397,10 @@ done: /* * Only used for autonegotiation. */ - if (IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO) + if (IFM_SUBTYPE(ife->ifm_media) != IFM_AUTO) { + sc->mii_ticks = 0; break; + } /* * check for link. @@ -411,6 +413,8 @@ done: } /* Announce link loss right after it happens. */ + if (sc->mii_ticks++ == 0) + break; if (sc->mii_ticks <= sc->mii_anegticks) return (0); |