diff options
author | yongari <yongari@FreeBSD.org> | 2008-12-22 00:46:22 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-12-22 00:46:22 +0000 |
commit | 38e33df2fe627850f56da7c2a963a5575943a280 (patch) | |
tree | 519bad68659587bdcdac6ebf362dce08c3ed028c /sys/dev/re/if_re.c | |
parent | ce8ac85e5f45b7204912c58b488c1d6fbd8f714d (diff) | |
download | FreeBSD-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)
Diffstat (limited to 'sys/dev/re/if_re.c')
-rw-r--r-- | sys/dev/re/if_re.c | 2 |
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); } |