Commit 0d9b6e73 authored by Michael Thalmeier's avatar Michael Thalmeier Committed by David S. Miller

r6040: only disable RX interrupt if napi_schedule_prep is successful

When receiving the first RX interrupt before the internal call
to napi_schedule_prep is successful the RX interrupt gets disabled
and is never enabled again as the poll function never gets executed.
Signed-off-by: default avatarMichael Thalmeier <Michael.Thalmeier@sigmatek.at>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 62f2a3a4
......@@ -677,9 +677,11 @@ static irqreturn_t r6040_interrupt(int irq, void *dev_id)
if (status & RX_FIFO_FULL)
dev->stats.rx_fifo_errors++;
/* Mask off RX interrupt */
misr &= ~RX_INTS;
napi_schedule(&lp->napi);
if (likely(napi_schedule_prep(&lp->napi))) {
/* Mask off RX interrupt */
misr &= ~RX_INTS;
__napi_schedule(&lp->napi);
}
}
/* TX interrupt request */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment