aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r--drivers/net/e1000/e1000_main.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 8c64363faaf3..cdbf4fb8150d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2416,6 +2416,11 @@ enum latency_range {
2416 2416
2417/** 2417/**
2418 * e1000_update_itr - update the dynamic ITR value based on statistics 2418 * e1000_update_itr - update the dynamic ITR value based on statistics
2419 * @adapter: pointer to adapter
2420 * @itr_setting: current adapter->itr
2421 * @packets: the number of packets during this measurement interval
2422 * @bytes: the number of bytes during this measurement interval
2423 *
2419 * Stores a new ITR value based on packets and byte 2424 * Stores a new ITR value based on packets and byte
2420 * counts during the last interrupt. The advantage of per interrupt 2425 * counts during the last interrupt. The advantage of per interrupt
2421 * computation is faster updates and more accurate ITR for the current 2426 * computation is faster updates and more accurate ITR for the current
@@ -2425,10 +2430,6 @@ enum latency_range {
2425 * while increasing bulk throughput. 2430 * while increasing bulk throughput.
2426 * this functionality is controlled by the InterruptThrottleRate module 2431 * this functionality is controlled by the InterruptThrottleRate module
2427 * parameter (see e1000_param.c) 2432 * parameter (see e1000_param.c)
2428 * @adapter: pointer to adapter
2429 * @itr_setting: current adapter->itr
2430 * @packets: the number of packets during this measurement interval
2431 * @bytes: the number of bytes during this measurement interval
2432 **/ 2433 **/
2433static unsigned int e1000_update_itr(struct e1000_adapter *adapter, 2434static unsigned int e1000_update_itr(struct e1000_adapter *adapter,
2434 u16 itr_setting, int packets, int bytes) 2435 u16 itr_setting, int packets, int bytes)
@@ -2770,8 +2771,9 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
2770 * Avoid terminating buffers within evenly-aligned 2771 * Avoid terminating buffers within evenly-aligned
2771 * dwords. */ 2772 * dwords. */
2772 if (unlikely(adapter->pcix_82544 && 2773 if (unlikely(adapter->pcix_82544 &&
2773 !((unsigned long)(frag->page+offset+size-1) & 4) && 2774 !((unsigned long)(page_to_phys(frag->page) + offset
2774 size > 4)) 2775 + size - 1) & 4) &&
2776 size > 4))
2775 size -= 4; 2777 size -= 4;
2776 2778
2777 buffer_info->length = size; 2779 buffer_info->length = size;
@@ -3042,7 +3044,8 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
3042 } 3044 }
3043 3045
3044 if (likely(tso)) { 3046 if (likely(tso)) {
3045 tx_ring->last_tx_tso = 1; 3047 if (likely(hw->mac_type != e1000_82544))
3048 tx_ring->last_tx_tso = 1;
3046 tx_flags |= E1000_TX_FLAGS_TSO; 3049 tx_flags |= E1000_TX_FLAGS_TSO;
3047 } else if (likely(e1000_tx_csum(adapter, tx_ring, skb))) 3050 } else if (likely(e1000_tx_csum(adapter, tx_ring, skb)))
3048 tx_flags |= E1000_TX_FLAGS_CSUM; 3051 tx_flags |= E1000_TX_FLAGS_CSUM;