From a448a380972aa9742c6d9402c2d5cd78d3aa16a1 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Tue, 29 May 2007 15:07:31 -0700 Subject: [PATCH] --- yaml --- r: 57103 b: refs/heads/master c: 47313054352b879a2bc65379d55b05f48a0af7ec h: refs/heads/master i: 57101: 39da456870633c8fda524ba0ba70eec6e74a1c01 57099: c7bc0c4f0e87b5584302d7dd9c4a531be5cacb69 57095: 29472e72e2fa4194e3791e7e6852a77483c3a200 57087: c4afeac936f254f348ba94dfb17ec36f6454c523 v: v3 --- [refs] | 2 +- trunk/drivers/net/e1000/e1000_main.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 08d5f4af0f5e..7b6ce22717ff 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8a32352661cc8e942897d205ba18f871ef7be597 +refs/heads/master: 47313054352b879a2bc65379d55b05f48a0af7ec diff --git a/trunk/drivers/net/e1000/e1000_main.c b/trunk/drivers/net/e1000/e1000_main.c index cbc7febe9cdc..9ec35b7a8207 100644 --- a/trunk/drivers/net/e1000/e1000_main.c +++ b/trunk/drivers/net/e1000/e1000_main.c @@ -1325,7 +1325,10 @@ e1000_sw_init(struct e1000_adapter *adapter) spin_lock_init(&adapter->tx_queue_lock); #endif - atomic_set(&adapter->irq_sem, 1); + /* Explicitly disable IRQ since the NIC can be in any state. */ + atomic_set(&adapter->irq_sem, 0); + e1000_irq_disable(adapter); + spin_lock_init(&adapter->stats_lock); set_bit(__E1000_DOWN, &adapter->flags); @@ -1431,6 +1434,10 @@ e1000_open(struct net_device *netdev) /* From here on the code is the same as e1000_up() */ clear_bit(__E1000_DOWN, &adapter->flags); +#ifdef CONFIG_E1000_NAPI + netif_poll_enable(netdev); +#endif + e1000_irq_enable(adapter); /* fire a link status change interrupt to start the watchdog */