diff options
-rw-r--r-- | sys/dev/ic/rtl81x9.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/sys/dev/ic/rtl81x9.c b/sys/dev/ic/rtl81x9.c index fcf63673fce..8e07123c8b2 100644 --- a/sys/dev/ic/rtl81x9.c +++ b/sys/dev/ic/rtl81x9.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rtl81x9.c,v 1.53 2006/09/29 22:22:33 brad Exp $ */ +/* $OpenBSD: rtl81x9.c,v 1.54 2006/10/15 19:06:38 deraadt Exp $ */ /* * Copyright (c) 1997, 1998 @@ -817,25 +817,19 @@ 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) || - (status & RL_ISR_RX_ERR)) { + if (status & RL_ISR_RX_OK) rl_rxeof(sc); - claimed = 1; - } - if ((status & RL_ISR_TX_OK) || - (status & RL_ISR_TX_ERR)) { + if (status & RL_ISR_RX_ERR) + rl_rxeof(sc); + 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. */ |