e1000: Don't enable polling in open() (was: e1000: assertion hit in e1000_clean(...
authorAuke Kok <auke-jan.h.kok@intel.com>
Mon, 21 May 2007 21:51:35 +0000 (14:51 -0700)
committerJeff Garzik <jeff@garzik.org>
Mon, 21 May 2007 23:41:19 +0000 (19:41 -0400)
Herbert Xu wrote:
"netif_poll_enable can only be called if you've previously called
netif_poll_disable.  Otherwise a poll might already be in action
and you may get a crash like this."

Removing the call to netif_poll_enable in e1000_open should fix this issue,
the only other call to netif_poll_enable is in e1000_up() which is only
reached after a device reset or resume.

Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8455
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240339

Tested by Doug Chapman <doug.chapman@hp.com>

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/e1000/e1000_main.c

index 49be393e1c1dc5acf40ae88c7ebc5b6bbf9f2ebf..cbc7febe9cdcdc1c1692aa1f857276e865549953 100644 (file)
@@ -1431,10 +1431,6 @@ 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 */