aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/e1000/e1000_main.c1
-rw-r--r--drivers/net/e1000e/netdev.c1
-rw-r--r--drivers/net/ixgb/ixgb_main.c9
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c4
4 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 0c9a6f7104d2..76c0fa690cc6 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -632,6 +632,7 @@ e1000_down(struct e1000_adapter *adapter)
632 632
633#ifdef CONFIG_E1000_NAPI 633#ifdef CONFIG_E1000_NAPI
634 napi_disable(&adapter->napi); 634 napi_disable(&adapter->napi);
635 atomic_set(&adapter->irq_sem, 0);
635#endif 636#endif
636 e1000_irq_disable(adapter); 637 e1000_irq_disable(adapter);
637 638
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 2ab3bfbb8a63..9cc5a6b01bc1 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2183,6 +2183,7 @@ void e1000e_down(struct e1000_adapter *adapter)
2183 msleep(10); 2183 msleep(10);
2184 2184
2185 napi_disable(&adapter->napi); 2185 napi_disable(&adapter->napi);
2186 atomic_set(&adapter->irq_sem, 0);
2186 e1000_irq_disable(adapter); 2187 e1000_irq_disable(adapter);
2187 2188
2188 del_timer_sync(&adapter->watchdog_timer); 2189 del_timer_sync(&adapter->watchdog_timer);
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index d2fb88d5cda2..4f63839051b0 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -296,6 +296,11 @@ ixgb_down(struct ixgb_adapter *adapter, boolean_t kill_watchdog)
296{ 296{
297 struct net_device *netdev = adapter->netdev; 297 struct net_device *netdev = adapter->netdev;
298 298
299#ifdef CONFIG_IXGB_NAPI
300 napi_disable(&adapter->napi);
301 atomic_set(&adapter->irq_sem, 0);
302#endif
303
299 ixgb_irq_disable(adapter); 304 ixgb_irq_disable(adapter);
300 free_irq(adapter->pdev->irq, netdev); 305 free_irq(adapter->pdev->irq, netdev);
301 306
@@ -304,9 +309,7 @@ ixgb_down(struct ixgb_adapter *adapter, boolean_t kill_watchdog)
304 309
305 if(kill_watchdog) 310 if(kill_watchdog)
306 del_timer_sync(&adapter->watchdog_timer); 311 del_timer_sync(&adapter->watchdog_timer);
307#ifdef CONFIG_IXGB_NAPI 312
308 napi_disable(&adapter->napi);
309#endif
310 adapter->link_speed = 0; 313 adapter->link_speed = 0;
311 adapter->link_duplex = 0; 314 adapter->link_duplex = 0;
312 netif_carrier_off(netdev); 315 netif_carrier_off(netdev);
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index de3f45e4c5ae..a4265bc1cebb 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -1409,9 +1409,11 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
1409 IXGBE_WRITE_FLUSH(&adapter->hw); 1409 IXGBE_WRITE_FLUSH(&adapter->hw);
1410 msleep(10); 1410 msleep(10);
1411 1411
1412 napi_disable(&adapter->napi);
1413 atomic_set(&adapter->irq_sem, 0);
1414
1412 ixgbe_irq_disable(adapter); 1415 ixgbe_irq_disable(adapter);
1413 1416
1414 napi_disable(&adapter->napi);
1415 del_timer_sync(&adapter->watchdog_timer); 1417 del_timer_sync(&adapter->watchdog_timer);
1416 1418
1417 netif_carrier_off(netdev); 1419 netif_carrier_off(netdev);