@@ -229,10 +229,8 @@ static int xrx200_poll_rx(struct napi_struct *napi, int budget)
}
}
- if (rx < budget) {
- napi_complete(&ch->napi);
+ if (napi_complete_done(&ch->napi, rx))
ltq_dma_enable_irq(&ch->dma);
- }
return rx;
}
@@ -271,10 +269,8 @@ static int xrx200_tx_housekeeping(struct napi_struct *napi, int budget)
if (netif_queue_stopped(net_dev))
netif_wake_queue(net_dev);
- if (pkts < budget) {
- napi_complete(&ch->napi);
+ if (napi_complete_done(&ch->napi, pkts))
ltq_dma_enable_irq(&ch->dma);
- }
return pkts;
}
Use napi_complete_done() and activate the interrupts when this function returns true. This way the generic NAPI code can take care of activating the interrupts. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- drivers/net/ethernet/lantiq_xrx200.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)