diff options
author | Auke Kok <auke-jan.h.kok@intel.com> | 2007-05-21 17:51:35 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-05-21 19:41:19 -0400 |
commit | 3e1657c8ef53e1cd541cc1e420f3230dc075949b (patch) | |
tree | 7761c899ea09c104324fa333d75dc1e31cf70255 /drivers/net/e1000 | |
parent | 8aee74c8ee875448cc6d1cf995c9469eb60ae515 (diff) |
e1000: Don't enable polling in open() (was: e1000: assertion hit in e1000_clean(), kernel 2.6.21.1)
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>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 49be393e1c1d..cbc7febe9cdc 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -1431,10 +1431,6 @@ e1000_open(struct net_device *netdev) | |||
1431 | /* From here on the code is the same as e1000_up() */ | 1431 | /* From here on the code is the same as e1000_up() */ |
1432 | clear_bit(__E1000_DOWN, &adapter->flags); | 1432 | clear_bit(__E1000_DOWN, &adapter->flags); |
1433 | 1433 | ||
1434 | #ifdef CONFIG_E1000_NAPI | ||
1435 | netif_poll_enable(netdev); | ||
1436 | #endif | ||
1437 | |||
1438 | e1000_irq_enable(adapter); | 1434 | e1000_irq_enable(adapter); |
1439 | 1435 | ||
1440 | /* fire a link status change interrupt to start the watchdog */ | 1436 | /* fire a link status change interrupt to start the watchdog */ |