mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
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: Michael Thalmeier <Michael.Thalmeier@sigmatek.at> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
62f2a3a48b
commit
0d9b6e738a
1 changed files with 5 additions and 3 deletions
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue