aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r--drivers/net/e1000/e1000_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index cbc7febe9cdc..9ec35b7a8207 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -1325,7 +1325,10 @@ e1000_sw_init(struct e1000_adapter *adapter)
1325 spin_lock_init(&adapter->tx_queue_lock); 1325 spin_lock_init(&adapter->tx_queue_lock);
1326#endif 1326#endif
1327 1327
1328 atomic_set(&adapter->irq_sem, 1); 1328 /* Explicitly disable IRQ since the NIC can be in any state. */
1329 atomic_set(&adapter->irq_sem, 0);
1330 e1000_irq_disable(adapter);
1331
1329 spin_lock_init(&adapter->stats_lock); 1332 spin_lock_init(&adapter->stats_lock);
1330 1333
1331 set_bit(__E1000_DOWN, &adapter->flags); 1334 set_bit(__E1000_DOWN, &adapter->flags);
@@ -1431,6 +1434,10 @@ e1000_open(struct net_device *netdev)
1431 /* From here on the code is the same as e1000_up() */ 1434 /* From here on the code is the same as e1000_up() */
1432 clear_bit(__E1000_DOWN, &adapter->flags); 1435 clear_bit(__E1000_DOWN, &adapter->flags);
1433 1436
1437#ifdef CONFIG_E1000_NAPI
1438 netif_poll_enable(netdev);
1439#endif
1440
1434 e1000_irq_enable(adapter); 1441 e1000_irq_enable(adapter);
1435 1442
1436 /* fire a link status change interrupt to start the watchdog */ 1443 /* fire a link status change interrupt to start the watchdog */