|
@@ -3796,7 +3796,7 @@ e1000_intr_msi(int irq, void *data)
|
|
|
|
|
|
for (i = 0; i < E1000_MAX_INTR; i++)
|
|
|
if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &
|
|
|
- e1000_clean_tx_irq(adapter, adapter->tx_ring)))
|
|
|
+ !e1000_clean_tx_irq(adapter, adapter->tx_ring)))
|
|
|
break;
|
|
|
|
|
|
if (likely(adapter->itr_setting & 3))
|
|
@@ -3899,7 +3899,7 @@ e1000_intr(int irq, void *data)
|
|
|
|
|
|
for (i = 0; i < E1000_MAX_INTR; i++)
|
|
|
if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &
|
|
|
- e1000_clean_tx_irq(adapter, adapter->tx_ring)))
|
|
|
+ !e1000_clean_tx_irq(adapter, adapter->tx_ring)))
|
|
|
break;
|
|
|
|
|
|
if (likely(adapter->itr_setting & 3))
|
|
@@ -3949,7 +3949,7 @@ e1000_clean(struct net_device *poll_dev, int *budget)
|
|
|
poll_dev->quota -= work_done;
|
|
|
|
|
|
/* If no Tx and not enough Rx work done, exit the polling mode */
|
|
|
- if ((tx_cleaned && (work_done < work_to_do)) ||
|
|
|
+ if ((!tx_cleaned && (work_done == 0)) ||
|
|
|
!netif_running(poll_dev)) {
|
|
|
quit_polling:
|
|
|
if (likely(adapter->itr_setting & 3))
|
|
@@ -3979,7 +3979,7 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
|
|
|
#ifdef CONFIG_E1000_NAPI
|
|
|
unsigned int count = 0;
|
|
|
#endif
|
|
|
- boolean_t cleaned = TRUE;
|
|
|
+ boolean_t cleaned = FALSE;
|
|
|
unsigned int total_tx_bytes=0, total_tx_packets=0;
|
|
|
|
|
|
i = tx_ring->next_to_clean;
|
|
@@ -4013,10 +4013,7 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
|
|
|
#ifdef CONFIG_E1000_NAPI
|
|
|
#define E1000_TX_WEIGHT 64
|
|
|
/* weight of a sort for tx, to avoid endless transmit cleanup */
|
|
|
- if (count++ == E1000_TX_WEIGHT) {
|
|
|
- cleaned = FALSE;
|
|
|
- break;
|
|
|
- }
|
|
|
+ if (count++ == E1000_TX_WEIGHT) break;
|
|
|
#endif
|
|
|
}
|
|
|
|