diff options
author | Jiri Bohac <jbohac@suse.cz> | 2007-11-21 13:40:07 +0100 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-11-23 22:09:00 -0500 |
commit | 3defd0ee74b8bec6977a34aae99939af6c007f84 (patch) | |
tree | e9e2ded32ffdcb1e66f370aac7f48944be5acea4 /drivers/net/amd8111e.c | |
parent | 77b6901573066d6eadfcf66161a5768f3d2de9e9 (diff) | |
download | linux-3defd0ee74b8bec6977a34aae99939af6c007f84.tar.gz linux-3defd0ee74b8bec6977a34aae99939af6c007f84.tar.bz2 linux-3defd0ee74b8bec6977a34aae99939af6c007f84.zip |
amd8111e: don't call napi_enable if configured w/o NAPI
The amd8111e network driver was broken by
bea3348eef27e6044b6161fd04c3152215f96411, which makes the driver
call napi_enable() and napi_disable() even if the driver had been
configured without CONFIG_AMD8111E_NAPI, and thus
netif_napi_add() had not been called on initialization.
This triggers a BUG in napi_enable().
This patch fixes the problem. Please apply.
Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/amd8111e.c')
-rw-r--r-- | drivers/net/amd8111e.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c index eebf5bb2b03a..e7fdd81919bd 100644 --- a/drivers/net/amd8111e.c +++ b/drivers/net/amd8111e.c @@ -1340,7 +1340,9 @@ static int amd8111e_close(struct net_device * dev) struct amd8111e_priv *lp = netdev_priv(dev); netif_stop_queue(dev); +#ifdef CONFIG_AMD8111E_NAPI napi_disable(&lp->napi); +#endif spin_lock_irq(&lp->lock); @@ -1372,7 +1374,9 @@ static int amd8111e_open(struct net_device * dev ) dev->name, dev)) return -EAGAIN; +#ifdef CONFIG_AMD8111E_NAPI napi_enable(&lp->napi); +#endif spin_lock_irq(&lp->lock); @@ -1380,7 +1384,9 @@ static int amd8111e_open(struct net_device * dev ) if(amd8111e_restart(dev)){ spin_unlock_irq(&lp->lock); +#ifdef CONFIG_AMD8111E_NAPI napi_disable(&lp->napi); +#endif if (dev->irq) free_irq(dev->irq, dev); return -ENOMEM; |