From 5f36bdfcc2de3726fa574b39fbe0c2794edc92f6 Mon Sep 17 00:00:00 2001 From: Pyun YongHyeon Date: Fri, 16 Nov 2007 10:39:18 +0000 Subject: [PATCH] Reset autonegotation timer if media option is not IFM_AUTO. Make mii_ticks advance, autonegiation is retried every mii_anegticks seconds. --- sys/dev/mii/e1000phy.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c index 91da6282170..ae45077d62b 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);