aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2009-11-17 18:19:45 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2009-11-17 18:19:45 +0000
commit77e6010f2469639eb0b0dbe7f5d36446b24cc45f (patch)
tree9fecf06f2d1ea991b10481825adb5297c35927f6
parent89834b119e7902dea415b95827c7de87c787ee13 (diff)
downloadsrc-77e6010f2469639eb0b0dbe7f5d36446b24cc45f.tar.gz
src-77e6010f2469639eb0b0dbe7f5d36446b24cc45f.zip
It seems generation of link state change of e1000phy(4) is not
reliable on some Marvell PHYs. If msk(4) know it still does not have established link check whether msk(4) missed the link state change by looking into polled link state. Reported by: Mel Flynn < mel.flynn+fbsd.current <> mailing.thruhere dot net >, Gleb Kurtsou <gleb.kurtsou <> gmail dot com > Tested by: Gleb Kurtsou <gleb.kurtsou <> gmail dot com >
Notes
Notes: svn path=/head/; revision=199413
-rw-r--r--sys/dev/msk/if_msk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index fbde7b73b198..9ff7f4a7caa1 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -3198,6 +3198,8 @@ msk_tick(void *xsc_if)
mii = device_get_softc(sc_if->msk_miibus);
mii_tick(mii);
+ if ((sc_if->msk_flags & MSK_FLAG_LINK) == 0)
+ msk_miibus_statchg(sc_if->msk_if_dev);
msk_watchdog(sc_if);
callout_reset(&sc_if->msk_tick_ch, hz, msk_tick, sc_if);
}