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.
This commit is contained in:
parent
b71650db74
commit
77cb541e32
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user