b43: fix shared IRQ race condition
authorStefano Brivio <stefano.brivio@polimi.it>
Wed, 7 Nov 2007 17:16:11 +0000 (18:16 +0100)
committerJeff Garzik <jeff@garzik.org>
Sat, 10 Nov 2007 09:25:13 +0000 (04:25 -0500)
commita19d12d742903c745890c1374d64092595571e40
treed256cf41525d6bc10923ec87eb15a75f4be84264
parent2817ef1a5d9010873692f8353f6320ebecf9b837
b43: fix shared IRQ race condition

Fix an IRQ race condition in b43. If we call b43_stop_wireless_core(), it
will set the status of the device to INITIALIZED and the IRQ handler won't
care any longer about IRQs, thus the kernel will disable the IRQ if it's
shared (unless we boot it with the 'irqpoll' option). So we must disable
IRQs before changing the device status.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c