summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2006-09-29 22:22:34 +0000
committerBrad Smith <brad@cvs.openbsd.org>2006-09-29 22:22:34 +0000
commit22e28702cdfbb336fd52f1d9e2263d602f72e46e (patch)
tree6b2f14247d4d0ce6b4990f92e08d30782f6ef5ab
parentc95b28bc58061d7bf1c582055511d08dc170cf7b (diff)
cosmetic tweaking of the interrupt handler code.
no functional change.
-rw-r--r--sys/dev/ic/rtl81x9.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/sys/dev/ic/rtl81x9.c b/sys/dev/ic/rtl81x9.c
index b56e18821fe..fcf63673fce 100644
--- a/sys/dev/ic/rtl81x9.c
+++ b/sys/dev/ic/rtl81x9.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtl81x9.c,v 1.52 2006/09/29 16:04:06 brad Exp $ */
+/* $OpenBSD: rtl81x9.c,v 1.53 2006/09/29 22:22:33 brad Exp $ */
/*
* Copyright (c) 1997, 1998
@@ -817,19 +817,25 @@ int rl_intr(arg)
break;
if (status != 0)
CSR_WRITE_2(sc, RL_ISR, status);
+
if ((status & RL_INTRS) == 0)
break;
- if (status & RL_ISR_RX_OK)
- rl_rxeof(sc);
- if (status & RL_ISR_RX_ERR)
+
+ if ((status & RL_ISR_RX_OK) ||
+ (status & RL_ISR_RX_ERR)) {
rl_rxeof(sc);
- if ((status & RL_ISR_TX_OK) || (status & RL_ISR_TX_ERR))
+ claimed = 1;
+ }
+ if ((status & RL_ISR_TX_OK) ||
+ (status & RL_ISR_TX_ERR)) {
rl_txeof(sc);
+ claimed = 1;
+ }
if (status & RL_ISR_SYSTEM_ERR) {
rl_reset(sc);
rl_init(sc);
+ claimed = 1;
}
- claimed = 1;
}
/* Re-enable interrupts. */