aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/e1000_ethtool.c9
-rw-r--r--drivers/net/e1000/e1000_main.c8
2 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index cfdf0b24ffc1..6ed7f599eba3 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -871,13 +871,16 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data)
871 *data = 0; 871 *data = 0;
872 872
873 /* Hook up test interrupt handler just for this test */ 873 /* Hook up test interrupt handler just for this test */
874 if (!request_irq(irq, &e1000_test_intr, 0, netdev->name, netdev)) { 874 if (!request_irq(irq, &e1000_test_intr, SA_PROBEIRQ, netdev->name,
875 shared_int = FALSE; 875 netdev)) {
876 } else if (request_irq(irq, &e1000_test_intr, SA_SHIRQ, 876 shared_int = FALSE;
877 } else if (request_irq(irq, &e1000_test_intr, SA_SHIRQ,
877 netdev->name, netdev)){ 878 netdev->name, netdev)){
878 *data = 1; 879 *data = 1;
879 return -1; 880 return -1;
880 } 881 }
882 DPRINTK(PROBE,INFO, "testing %s interrupt\n",
883 (shared_int ? "shared" : "unshared"));
881 884
882 /* Disable all the interrupts */ 885 /* Disable all the interrupts */
883 E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF); 886 E1000_WRITE_REG(&adapter->hw, IMC, 0xFFFFFFFF);
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 564fab4914e1..56c7492e3e91 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3509,7 +3509,7 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
3509 buffer_info = &rx_ring->buffer_info[i]; 3509 buffer_info = &rx_ring->buffer_info[i];
3510 3510
3511 while (rx_desc->status & E1000_RXD_STAT_DD) { 3511 while (rx_desc->status & E1000_RXD_STAT_DD) {
3512 struct sk_buff *skb, *next_skb; 3512 struct sk_buff *skb;
3513 u8 status; 3513 u8 status;
3514#ifdef CONFIG_E1000_NAPI 3514#ifdef CONFIG_E1000_NAPI
3515 if (*work_done >= work_to_do) 3515 if (*work_done >= work_to_do)
@@ -3527,8 +3527,6 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
3527 prefetch(next_rxd); 3527 prefetch(next_rxd);
3528 3528
3529 next_buffer = &rx_ring->buffer_info[i]; 3529 next_buffer = &rx_ring->buffer_info[i];
3530 next_skb = next_buffer->skb;
3531 prefetch(next_skb->data - NET_IP_ALIGN);
3532 3530
3533 cleaned = TRUE; 3531 cleaned = TRUE;
3534 cleaned_count++; 3532 cleaned_count++;
@@ -3659,7 +3657,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
3659 struct e1000_buffer *buffer_info, *next_buffer; 3657 struct e1000_buffer *buffer_info, *next_buffer;
3660 struct e1000_ps_page *ps_page; 3658 struct e1000_ps_page *ps_page;
3661 struct e1000_ps_page_dma *ps_page_dma; 3659 struct e1000_ps_page_dma *ps_page_dma;
3662 struct sk_buff *skb, *next_skb; 3660 struct sk_buff *skb;
3663 unsigned int i, j; 3661 unsigned int i, j;
3664 uint32_t length, staterr; 3662 uint32_t length, staterr;
3665 int cleaned_count = 0; 3663 int cleaned_count = 0;
@@ -3689,8 +3687,6 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
3689 prefetch(next_rxd); 3687 prefetch(next_rxd);
3690 3688
3691 next_buffer = &rx_ring->buffer_info[i]; 3689 next_buffer = &rx_ring->buffer_info[i];
3692 next_skb = next_buffer->skb;
3693 prefetch(next_skb->data - NET_IP_ALIGN);
3694 3690
3695 cleaned = TRUE; 3691 cleaned = TRUE;
3696 cleaned_count++; 3692 cleaned_count++;