[BNX2X]: fix slowpath races and locking
authorEliezer Tamir <eliezert@broadcom.com>
Thu, 28 Feb 2008 19:56:57 +0000 (11:56 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Feb 2008 19:56:57 +0000 (11:56 -0800)
commit228241eb58ad13e7cf2ddd9c92eabb5c3055cf5c
tree765d0de072a2eab6575ff735a05e8ea492c4d08a
parent877e9aa4c31d8d1670b21824b819929435f46579
[BNX2X]: fix slowpath races and locking

Fixed locking between fastpath and slowpath operations.

Corrected order of traffic disabling to prevent race when going down
under traffic.

- first have the microcode drop all incoming packets
- then do the slowpath stuff
- only then reset the MAC

Got rid of in_reset_task.

Remove_one() and friends would deference a null pointer if init_one
failed.

Signed-off-by: Eliezer Tamir <eliezert@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2x.c
drivers/net/bnx2x.h