mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-24 03:24:55 +08:00
ibm/emac: use napi_complete_done()
Use napi_complete_done() instead of __napi_complete() We plan to remove __napi_complete() to reduce NAPI complexity. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0eb7b85c96
commit
3d1a6333d9
@ -421,20 +421,20 @@ static int mal_poll(struct napi_struct *napi, int budget)
|
||||
int n;
|
||||
if (unlikely(test_bit(MAL_COMMAC_POLL_DISABLED, &mc->flags)))
|
||||
continue;
|
||||
n = mc->ops->poll_rx(mc->dev, budget);
|
||||
n = mc->ops->poll_rx(mc->dev, budget - received);
|
||||
if (n) {
|
||||
received += n;
|
||||
budget -= n;
|
||||
if (budget <= 0)
|
||||
goto more_work; // XXX What if this is the last one ?
|
||||
if (received >= budget)
|
||||
return budget;
|
||||
}
|
||||
}
|
||||
|
||||
/* We need to disable IRQs to protect from RXDE IRQ here */
|
||||
spin_lock_irqsave(&mal->lock, flags);
|
||||
__napi_complete(napi);
|
||||
mal_enable_eob_irq(mal);
|
||||
spin_unlock_irqrestore(&mal->lock, flags);
|
||||
if (napi_complete_done(napi, received)) {
|
||||
/* We need to disable IRQs to protect from RXDE IRQ here */
|
||||
spin_lock_irqsave(&mal->lock, flags);
|
||||
mal_enable_eob_irq(mal);
|
||||
spin_unlock_irqrestore(&mal->lock, flags);
|
||||
}
|
||||
|
||||
/* Check for "rotting" packet(s) */
|
||||
list_for_each(l, &mal->poll_list) {
|
||||
|
Loading…
Reference in New Issue
Block a user