ath9k_htc: avoid scheduling while atomic on sta_rc_update
authorStanislaw Gruszka <sgruszka@redhat.com>
Mon, 3 Feb 2014 10:45:51 +0000 (11:45 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 4 Feb 2014 20:30:07 +0000 (15:30 -0500)
commita243de48558397f438e299178cac29f6da8fc0ce
tree7a86e26b558acab2ec7ebc1bd30edd526034e46e
parent4fcfc7443d072582b5047b8b391d711590e5645c
ath9k_htc: avoid scheduling while atomic on sta_rc_update

mac80211 ->sta_rc_update() callback must be atomic. Since we have to
take mutex and do other operations that can sleep when sending fimrware
commands to device, the only option to satisfy atomicity requirement of
->sta_rc_update(), that I can see, is introduce work_struct and defer
uploading new rates to that work.

Tested-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc.h
drivers/net/wireless/ath/ath9k/htc_drv_main.c