summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2008-12-22 00:46:22 +0000
committeryongari <yongari@FreeBSD.org>2008-12-22 00:46:22 +0000
commit38e33df2fe627850f56da7c2a963a5575943a280 (patch)
tree519bad68659587bdcdac6ebf362dce08c3ed028c
parentce8ac85e5f45b7204912c58b488c1d6fbd8f714d (diff)
downloadFreeBSD-src-38e33df2fe627850f56da7c2a963a5575943a280.zip
FreeBSD-src-38e33df2fe627850f56da7c2a963a5575943a280.tar.gz
Since we don't request reset for rlphy(4), the link state 'UP'
event from mii(4) may not be delivered if valid link was already established. To address the issue, check current link state after driving MII_TICK. This should fix a regression introduced in r185753 on fast ethernet controllers. Reported by: csjp, Bruce Cran < bruce <> cran DOT org DOT uk > Tested by: csjp, Bruce Cran (initial version)
-rw-r--r--sys/dev/re/if_re.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c
index 2ad55fd..21b8251 100644
--- a/sys/dev/re/if_re.c
+++ b/sys/dev/re/if_re.c
@@ -2068,6 +2068,8 @@ re_tick(void *xsc)
mii = device_get_softc(sc->rl_miibus);
mii_tick(mii);
+ if ((sc->rl_flags & RL_FLAG_LINK) == 0)
+ re_miibus_statchg(sc->rl_dev);
re_watchdog(sc);
callout_reset(&sc->rl_stat_callout, hz, re_tick, sc);
}
OpenPOWER on IntegriCloud