diff options
| -rw-r--r-- | drivers/net/e1000/e1000_ethtool.c | 9 | ||||
| -rw-r--r-- | drivers/net/e1000/e1000_main.c | 8 |
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 bd709e562778..115eff25d8c1 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
| @@ -3494,7 +3494,7 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
| 3494 | buffer_info = &rx_ring->buffer_info[i]; | 3494 | buffer_info = &rx_ring->buffer_info[i]; |
| 3495 | 3495 | ||
| 3496 | while (rx_desc->status & E1000_RXD_STAT_DD) { | 3496 | while (rx_desc->status & E1000_RXD_STAT_DD) { |
| 3497 | struct sk_buff *skb, *next_skb; | 3497 | struct sk_buff *skb; |
| 3498 | u8 status; | 3498 | u8 status; |
| 3499 | #ifdef CONFIG_E1000_NAPI | 3499 | #ifdef CONFIG_E1000_NAPI |
| 3500 | if (*work_done >= work_to_do) | 3500 | if (*work_done >= work_to_do) |
| @@ -3512,8 +3512,6 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
| 3512 | prefetch(next_rxd); | 3512 | prefetch(next_rxd); |
| 3513 | 3513 | ||
| 3514 | next_buffer = &rx_ring->buffer_info[i]; | 3514 | next_buffer = &rx_ring->buffer_info[i]; |
| 3515 | next_skb = next_buffer->skb; | ||
| 3516 | prefetch(next_skb->data - NET_IP_ALIGN); | ||
| 3517 | 3515 | ||
| 3518 | cleaned = TRUE; | 3516 | cleaned = TRUE; |
| 3519 | cleaned_count++; | 3517 | cleaned_count++; |
| @@ -3644,7 +3642,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
| 3644 | struct e1000_buffer *buffer_info, *next_buffer; | 3642 | struct e1000_buffer *buffer_info, *next_buffer; |
| 3645 | struct e1000_ps_page *ps_page; | 3643 | struct e1000_ps_page *ps_page; |
| 3646 | struct e1000_ps_page_dma *ps_page_dma; | 3644 | struct e1000_ps_page_dma *ps_page_dma; |
| 3647 | struct sk_buff *skb, *next_skb; | 3645 | struct sk_buff *skb; |
| 3648 | unsigned int i, j; | 3646 | unsigned int i, j; |
| 3649 | uint32_t length, staterr; | 3647 | uint32_t length, staterr; |
| 3650 | int cleaned_count = 0; | 3648 | int cleaned_count = 0; |
| @@ -3674,8 +3672,6 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter, | |||
| 3674 | prefetch(next_rxd); | 3672 | prefetch(next_rxd); |
| 3675 | 3673 | ||
| 3676 | next_buffer = &rx_ring->buffer_info[i]; | 3674 | next_buffer = &rx_ring->buffer_info[i]; |
| 3677 | next_skb = next_buffer->skb; | ||
| 3678 | prefetch(next_skb->data - NET_IP_ALIGN); | ||
| 3679 | 3675 | ||
| 3680 | cleaned = TRUE; | 3676 | cleaned = TRUE; |
| 3681 | cleaned_count++; | 3677 | cleaned_count++; |
