diff options
author | wpaul <wpaul@FreeBSD.org> | 2001-07-16 16:35:09 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2001-07-16 16:35:09 +0000 |
commit | 77cb541e32e91409233e4fa46f1a0436075b84f1 (patch) | |
tree | 754d98a23b8e9a61e1cd4a9fa09c383bd3f3c08d /sys/dev | |
parent | b71650db7499309b0018e30e5d99e8ffe7d9caa7 (diff) | |
download | FreeBSD-src-77cb541e32e91409233e4fa46f1a0436075b84f1.zip FreeBSD-src-77cb541e32e91409233e4fa46f1a0436075b84f1.tar.gz |
Change the interrupt handler a bit so that we call the nge_rxeof() handler
when we get an RX_ERR interrupt rather than the nge_rxeoc() handler. The
rxeoc (end of channel) handler attempts to reinitialize the whole NIC,
which we don't want to do if we only received a bad packet.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/nge/if_nge.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index 4900fdf..db89ce2 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -1499,13 +1499,12 @@ static void nge_intr(arg) nge_txeof(sc); if ((status & NGE_ISR_RX_DESC_OK) || + (status & NGE_ISR_RX_ERR) || (status & NGE_ISR_RX_OK)) nge_rxeof(sc); - if ((status & NGE_ISR_RX_ERR) || - (status & NGE_ISR_RX_OFLOW)) { + if ((status & NGE_ISR_RX_OFLOW)) nge_rxeoc(sc); - } if (status & NGE_ISR_SYSERR) { nge_reset(sc); |