From: Michael Chan Date: Tue, 1 Jun 2010 15:05:36 +0000 (+0000) Subject: bnx2: Fix hang during rmmod bnx2. X-Git-Tag: v2.6.35-rc2~4^2~26 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f048fa9c8686119c3858a463cab6121dced7c0bf;p=pandora-kernel.git bnx2: Fix hang during rmmod bnx2. 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 Signed-off-by: Benjamin Li Signed-off-by: David S. Miller --- Reading git-diff-tree failed