OSDN Git Service

b43: Workaround circular locking in hw-tkip key update callback
authorMichael Buesch <mb@bu3sch.de>
Sun, 24 Jan 2010 12:13:32 +0000 (13:13 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 25 Jan 2010 21:36:28 +0000 (16:36 -0500)
commit96869a39399269a776a94812e9fff3d38b47d838
tree3e799868a0d686922bf09f4115df0f558ca82a06
parent658965107e2a45a1a4297cb494adc55797dd9ad1
b43: Workaround circular locking in hw-tkip key update callback

The TKIP key update callback is called from the RX path, where the driver
mutex is already locked. This results in a circular locking bug.
Avoid this by removing the lock.

Johannes noted that there is a separate bug: The callback still breaks on SDIO
hardware, because SDIO hardware access needs to sleep, but we are not allowed
to sleep in the callback due to mac80211's RCU locking.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Reported-by: kecsa@kutfo.hit.bme.hu
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: stable <stable@kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c