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:
committed by
David S. Miller
parent
62f2a3a48b
commit
0d9b6e738a
@@ -677,9 +677,11 @@ static irqreturn_t r6040_interrupt(int irq, void *dev_id)
|
|||||||
if (status & RX_FIFO_FULL)
|
if (status & RX_FIFO_FULL)
|
||||||
dev->stats.rx_fifo_errors++;
|
dev->stats.rx_fifo_errors++;
|
||||||
|
|
||||||
|
if (likely(napi_schedule_prep(&lp->napi))) {
|
||||||
/* Mask off RX interrupt */
|
/* Mask off RX interrupt */
|
||||||
misr &= ~RX_INTS;
|
misr &= ~RX_INTS;
|
||||||
napi_schedule(&lp->napi);
|
__napi_schedule(&lp->napi);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TX interrupt request */
|
/* TX interrupt request */
|
||||||
|
Reference in New Issue
Block a user