linux/drivers/net/wireless/ar9170
Christian Lamparter 32c1628f15 ar9170: fix hang on stop
This patch fixes a locking problem which freezes the network core.

The deadlock goes as follows:
- ar9170_op_stop - is called
1. change the state to IDLE
2. > take the MUTEX <
3. cancel_SYNC all pending work, which means
    "block until a work_struct's callback has terminated"
=>  if filter_config_work was queued it tries to get the MUTEX,
       before checking the device state...

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-04-22 16:54:29 -04:00
..
ar9170.h ar9170: simplify & deBUG tx_status queueing and reporting 2009-03-27 20:13:14 -04:00
cmd.c ar9170: single module build 2009-03-27 20:13:19 -04:00
cmd.h
eeprom.h
hw.h ar9170: fix struct layout on arm 2009-04-16 10:39:17 -04:00
Kconfig ar9170: single module build 2009-03-27 20:13:19 -04:00
led.c
mac.c ar9170: mac/bbp and phy code 2009-03-27 20:13:09 -04:00
main.c ar9170: fix hang on stop 2009-04-22 16:54:29 -04:00
Makefile ar9170: single module build 2009-03-27 20:13:19 -04:00
phy.c ar9170: mac/bbp and phy code 2009-03-27 20:13:09 -04:00
usb.c ar9170usb: fix hang on resume 2009-04-20 16:36:26 -04:00
usb.h ar9170: ar9170: USB frontend driver 2009-03-27 20:13:09 -04:00