diff options
author | Michael Chan <mchan@broadcom.com> | 2010-06-01 15:05:36 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-09-26 17:21:32 -0700 |
commit | 2b0a9cce5e3866adc5d15567df60dcea277c9898 (patch) | |
tree | ef4585dd03b21531eb7542593963c6ca486db704 /arch/mips/include/asm/asmmacro-64.h | |
parent | 508d1ab51e66eb8f50acba0301524b09babe37b3 (diff) |
bnx2: Fix hang during rmmod bnx2.
commit f048fa9c8686119c3858a463cab6121dced7c0bf upstream.
The regression is caused by:
commit 4327ba435a56ada13eedf3eb332e583c7a0586a9
bnx2: Fix netpoll crash.
If ->open() and ->close() are called multiple times, the same napi structs
will be added to dev->napi_list multiple times, corrupting the dev->napi_list.
This causes free_netdev() to hang during rmmod.
We fix this by calling netif_napi_del() during ->close().
Also, bnx2_init_napi() must not be in the __devinit section since it is
called by ->open().
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch/mips/include/asm/asmmacro-64.h')
0 files changed, 0 insertions, 0 deletions