aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000/e1000_main.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 090229f7a95c..dd79449f9a99 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -777,12 +777,12 @@ e1000_remove(struct pci_dev *pdev)
777 struct e1000_adapter *adapter = netdev_priv(netdev); 777 struct e1000_adapter *adapter = netdev_priv(netdev);
778 uint32_t ctrl_ext; 778 uint32_t ctrl_ext;
779 uint32_t manc, swsm; 779 uint32_t manc, swsm;
780
781 flush_scheduled_work();
782#ifdef CONFIG_E1000_NAPI 780#ifdef CONFIG_E1000_NAPI
783 int i; 781 int i;
784#endif 782#endif
785 783
784 flush_scheduled_work();
785
786 if(adapter->hw.mac_type >= e1000_82540 && 786 if(adapter->hw.mac_type >= e1000_82540 &&
787 adapter->hw.media_type == e1000_media_type_copper) { 787 adapter->hw.media_type == e1000_media_type_copper) {
788 manc = E1000_READ_REG(&adapter->hw, MANC); 788 manc = E1000_READ_REG(&adapter->hw, MANC);
@@ -3100,7 +3100,9 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
3100 struct e1000_adapter *adapter = netdev_priv(netdev); 3100 struct e1000_adapter *adapter = netdev_priv(netdev);
3101 struct e1000_hw *hw = &adapter->hw; 3101 struct e1000_hw *hw = &adapter->hw;
3102 uint32_t icr = E1000_READ_REG(hw, ICR); 3102 uint32_t icr = E1000_READ_REG(hw, ICR);
3103#ifdef CONFIG_E1000_MQ
3103 int i; 3104 int i;
3105#endif
3104 3106
3105 if(unlikely(!icr)) 3107 if(unlikely(!icr))
3106 return IRQ_NONE; /* Not our interrupt */ 3108 return IRQ_NONE; /* Not our interrupt */
@@ -3128,13 +3130,14 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
3128 } else { 3130 } else {
3129 printk("call_data.count == %u\n", atomic_read(&adapter->rx_sched_call_data.count)); 3131 printk("call_data.count == %u\n", atomic_read(&adapter->rx_sched_call_data.count));
3130 } 3132 }
3131#else 3133#else /* if !CONFIG_E1000_MQ */
3132 if (likely(netif_rx_schedule_prep(&adapter->polling_netdev[0]))) 3134 if (likely(netif_rx_schedule_prep(&adapter->polling_netdev[0])))
3133 __netif_rx_schedule(&adapter->polling_netdev[0]); 3135 __netif_rx_schedule(&adapter->polling_netdev[0]);
3134 else 3136 else
3135 e1000_irq_enable(adapter); 3137 e1000_irq_enable(adapter);
3136#endif 3138#endif /* CONFIG_E1000_MQ */
3137#else 3139
3140#else /* if !CONFIG_E1000_NAPI */
3138 /* Writing IMC and IMS is needed for 82547. 3141 /* Writing IMC and IMS is needed for 82547.
3139 Due to Hub Link bus being occupied, an interrupt 3142 Due to Hub Link bus being occupied, an interrupt
3140 de-assertion message is not able to be sent. 3143 de-assertion message is not able to be sent.
@@ -3158,7 +3161,7 @@ e1000_intr(int irq, void *data, struct pt_regs *regs)
3158 if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2) 3161 if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2)
3159 e1000_irq_enable(adapter); 3162 e1000_irq_enable(adapter);
3160 3163
3161#endif 3164#endif /* CONFIG_E1000_NAPI */
3162 3165
3163 return IRQ_HANDLED; 3166 return IRQ_HANDLED;
3164} 3167}