summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Campbell <aaron@cvs.openbsd.org>2000-10-18 16:19:35 +0000
committerAaron Campbell <aaron@cvs.openbsd.org>2000-10-18 16:19:35 +0000
commit6d1b3f77b46ceecbb5eb5e87c3759a47f98bd0af (patch)
tree644bee92c77a7314c1f06406b5a7fbb6049cf602
parent2e193cd3a33c9761ae40a2016fe268b46cf49d27 (diff)
Sigh. According to the ASIX data sheets, these boards don't even have RX
or TX state registers (these bits are reserved). So instead, don't do mii_tick() at all for ASIX boards, since we can't seem to figure out how to call it at just the right time. Hopefully this will be a temporary hack until a better solution is found.
-rw-r--r--sys/dev/ic/dc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/ic/dc.c b/sys/dev/ic/dc.c
index f82b972653c..0480aff6fb6 100644
--- a/sys/dev/ic/dc.c
+++ b/sys/dev/ic/dc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dc.c,v 1.16 2000/10/17 16:08:52 aaron Exp $ */
+/* $OpenBSD: dc.c,v 1.17 2000/10/18 16:19:34 aaron Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -1919,8 +1919,7 @@ void dc_tick(xsc)
} else {
r = CSR_READ_4(sc, DC_ISR);
if ((r & DC_ISR_RX_STATE) == DC_RXSTATE_WAIT &&
- (r & DC_ISR_TX_STATE) == DC_TXSTATE_RESET &&
- sc->dc_cdata.dc_tx_cnt == 0)
+ sc->dc_cdata.dc_tx_cnt == 0 && !DC_IS_ASIX(sc))
mii_tick(mii);
if (!(mii->mii_media_status & IFM_ACTIVE))
sc->dc_link = 0;