bnx2: Fix netpoll crash.
authorBenjamin Li <benli@broadcom.com>
Tue, 23 Mar 2010 13:13:11 +0000 (13:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Mar 2010 06:19:55 +0000 (23:19 -0700)
commit4327ba435a56ada13eedf3eb332e583c7a0586a9
tree87332475d3fb1a6721659d9692730ec693caeb5a
parent4881a4f89a95cc5fef6d32953954bcc3443eefd5
bnx2: Fix netpoll crash.

The bnx2 driver calls netif_napi_add() for all the NAPI structs during
->probe() time but not all of them will be used if we're not in MSI-X
mode.  This creates a problem for netpoll since it will poll all the
NAPI structs in the dev_list whether or not they are scheduled, resulting
in a crash when we access structure fields not initialized for that vector.

We fix it by moving the netif_napi_add() call to ->open() after the number
of IRQ vectors has been determined.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c