diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-28 18:33:00 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-28 18:33:00 +0000 |
commit | 03b23138a0ec738ed2c51ae379e25fcd0dff20a6 (patch) | |
tree | b14f24b536b0f77f527dc0025ff21a3be230c52b /sys/dev/ic | |
parent | d9ad6c097cf180895b24928ae035c62056432294 (diff) |
If this is a Davicom DM9102A and we're enabling the homePNA link, force
dc_link to 1 and don't activate the tick routine. Without this, dc_start()
always thinks the link is down and never transmits in homePNA mode; from
FreeBSD.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r-- | sys/dev/ic/dc.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/dev/ic/dc.c b/sys/dev/ic/dc.c index e37af1acd4d..dcf11873e29 100644 --- a/sys/dev/ic/dc.c +++ b/sys/dev/ic/dc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dc.c,v 1.12 2000/09/13 00:29:34 aaron Exp $ */ +/* $OpenBSD: dc.c,v 1.13 2000/09/28 18:32:59 aaron Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -2377,10 +2377,14 @@ void dc_init(xsc) timeout_set(&sc->dc_tick_tmo, dc_tick, sc); - if (sc->dc_flags & DC_21143_NWAY) - timeout_add(&sc->dc_tick_tmo, hz / 10); - else - timeout_add(&sc->dc_tick_tmo, hz); + if (IFM_SUBTYPE(mii->mii_media.ifm_media) == IFM_HPNA_1) + sc->dc_link = 1; + else { + if (sc->dc_flags & DC_21143_NWAY) + timeout_add(&sc->dc_tick_tmo, hz / 10); + else + timeout_add(&sc->dc_tick_tmo, hz); + } return; } |