aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/e1000/e1000_main.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 2178e0d39c01..d7dea6946e85 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3394,17 +3394,13 @@ static irqreturn_t e1000_intr(int irq, void *data)
3394static int e1000_clean(struct napi_struct *napi, int budget) 3394static int e1000_clean(struct napi_struct *napi, int budget)
3395{ 3395{
3396 struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi); 3396 struct e1000_adapter *adapter = container_of(napi, struct e1000_adapter, napi);
3397 struct net_device *poll_dev = adapter->netdev; 3397 int tx_clean_complete = 0, work_done = 0;
3398 int tx_cleaned = 0, work_done = 0;
3399 3398
3400 adapter = netdev_priv(poll_dev); 3399 tx_clean_complete = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]);
3401 3400
3402 tx_cleaned = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]); 3401 adapter->clean_rx(adapter, &adapter->rx_ring[0], &work_done, budget);
3403 3402
3404 adapter->clean_rx(adapter, &adapter->rx_ring[0], 3403 if (!tx_clean_complete)
3405 &work_done, budget);
3406
3407 if (!tx_cleaned)
3408 work_done = budget; 3404 work_done = budget;
3409 3405
3410 /* If budget not fully consumed, exit the polling mode */ 3406 /* If budget not fully consumed, exit the polling mode */