diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2006-09-29 22:22:34 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2006-09-29 22:22:34 +0000 |
commit | 22e28702cdfbb336fd52f1d9e2263d602f72e46e (patch) | |
tree | 6b2f14247d4d0ce6b4990f92e08d30782f6ef5ab /sys/dev/ic/rtl81x9.c | |
parent | c95b28bc58061d7bf1c582055511d08dc170cf7b (diff) |
cosmetic tweaking of the interrupt handler code.
no functional change.
Diffstat (limited to 'sys/dev/ic/rtl81x9.c')
-rw-r--r-- | sys/dev/ic/rtl81x9.c | 18 |
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. */ |