aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 471c194cd54..81bba6983dd 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -533,7 +533,7 @@ msi_only:
533 adapter->flags |= IGB_FLAG_HAS_MSI; 533 adapter->flags |= IGB_FLAG_HAS_MSI;
534 534
535 /* Notify the stack of the (possibly) reduced Tx Queue count. */ 535 /* Notify the stack of the (possibly) reduced Tx Queue count. */
536 adapter->netdev->egress_subqueue_count = adapter->num_tx_queues; 536 adapter->netdev->real_num_tx_queues = adapter->num_tx_queues;
537 return; 537 return;
538} 538}
539 539
@@ -821,9 +821,7 @@ void igb_down(struct igb_adapter *adapter)
821 wr32(E1000_RCTL, rctl & ~E1000_RCTL_EN); 821 wr32(E1000_RCTL, rctl & ~E1000_RCTL_EN);
822 /* flush and sleep below */ 822 /* flush and sleep below */
823 823
824 netif_stop_queue(netdev); 824 netif_tx_stop_all_queues(netdev);
825 for (i = 0; i < adapter->num_tx_queues; i++)
826 netif_stop_subqueue(netdev, i);
827 825
828 /* disable transmits in the hardware */ 826 /* disable transmits in the hardware */
829 tctl = rd32(E1000_TCTL); 827 tctl = rd32(E1000_TCTL);
@@ -1266,9 +1264,7 @@ static int __devinit igb_probe(struct pci_dev *pdev,
1266 1264
1267 /* tell the stack to leave us alone until igb_open() is called */ 1265 /* tell the stack to leave us alone until igb_open() is called */
1268 netif_carrier_off(netdev); 1266 netif_carrier_off(netdev);
1269 netif_stop_queue(netdev); 1267 netif_tx_stop_all_queues(netdev);
1270 for (i = 0; i < adapter->num_tx_queues; i++)
1271 netif_stop_subqueue(netdev, i);
1272 1268
1273 strcpy(netdev->name, "eth%d"); 1269 strcpy(netdev->name, "eth%d");
1274 err = register_netdev(netdev); 1270 err = register_netdev(netdev);
@@ -2315,7 +2311,6 @@ static void igb_watchdog_task(struct work_struct *work)
2315 struct e1000_mac_info *mac = &adapter->hw.mac; 2311 struct e1000_mac_info *mac = &adapter->hw.mac;
2316 u32 link; 2312 u32 link;
2317 s32 ret_val; 2313 s32 ret_val;
2318 int i;
2319 2314
2320 if ((netif_carrier_ok(netdev)) && 2315 if ((netif_carrier_ok(netdev)) &&
2321 (rd32(E1000_STATUS) & E1000_STATUS_LU)) 2316 (rd32(E1000_STATUS) & E1000_STATUS_LU))
@@ -2371,9 +2366,7 @@ static void igb_watchdog_task(struct work_struct *work)
2371 } 2366 }
2372 2367
2373 netif_carrier_on(netdev); 2368 netif_carrier_on(netdev);
2374 netif_wake_queue(netdev); 2369 netif_tx_wake_all_queues(netdev);
2375 for (i = 0; i < adapter->num_tx_queues; i++)
2376 netif_wake_subqueue(netdev, i);
2377 2370
2378 if (!test_bit(__IGB_DOWN, &adapter->state)) 2371 if (!test_bit(__IGB_DOWN, &adapter->state))
2379 mod_timer(&adapter->phy_info_timer, 2372 mod_timer(&adapter->phy_info_timer,
@@ -2385,9 +2378,7 @@ static void igb_watchdog_task(struct work_struct *work)
2385 adapter->link_duplex = 0; 2378 adapter->link_duplex = 0;
2386 dev_info(&adapter->pdev->dev, "NIC Link is Down\n"); 2379 dev_info(&adapter->pdev->dev, "NIC Link is Down\n");
2387 netif_carrier_off(netdev); 2380 netif_carrier_off(netdev);
2388 netif_stop_queue(netdev); 2381 netif_tx_stop_all_queues(netdev);
2389 for (i = 0; i < adapter->num_tx_queues; i++)
2390 netif_stop_subqueue(netdev, i);
2391 if (!test_bit(__IGB_DOWN, &adapter->state)) 2382 if (!test_bit(__IGB_DOWN, &adapter->state))
2392 mod_timer(&adapter->phy_info_timer, 2383 mod_timer(&adapter->phy_info_timer,
2393 round_jiffies(jiffies + 2 * HZ)); 2384 round_jiffies(jiffies + 2 * HZ));