summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_rl.c
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2008-12-22 00:53:47 +0000
committeryongari <yongari@FreeBSD.org>2008-12-22 00:53:47 +0000
commit4fea5c77549e61d0dbb1c1cf9acbcadedb11d7cf (patch)
treeafff31258e3b92343efd18f925806c72d4701164 /sys/pci/if_rl.c
parent38e33df2fe627850f56da7c2a963a5575943a280 (diff)
downloadFreeBSD-src-4fea5c77549e61d0dbb1c1cf9acbcadedb11d7cf.zip
FreeBSD-src-4fea5c77549e61d0dbb1c1cf9acbcadedb11d7cf.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 r184245. PR: kern/129647
Diffstat (limited to 'sys/pci/if_rl.c')
-rw-r--r--sys/pci/if_rl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/pci/if_rl.c b/sys/pci/if_rl.c
index d11d5d9..20f4504 100644
--- a/sys/pci/if_rl.c
+++ b/sys/pci/if_rl.c
@@ -1518,6 +1518,8 @@ rl_tick(void *xsc)
*/
mii = device_get_softc(sc->rl_miibus);
mii_tick(mii);
+ if ((sc->rl_flags & RL_FLAG_LINK) == 0)
+ rl_miibus_statchg(sc->rl_dev);
if (sc->rl_twister_enable) {
if (sc->rl_twister == DONE)
rl_watchdog(sc);
OpenPOWER on IntegriCloud