diff options
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 9 |
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 */ |