ath10k: fix scheduling while atomic config bug
authorMichal Kazior <michal.kazior@tieto.com>
Wed, 16 Oct 2013 12:44:46 +0000 (15:44 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 16 Oct 2013 12:44:46 +0000 (15:44 +0300)
commitad088bfa1e3d05670734839e1a22a69ce4b193fb
tree847296d0f833a8cf5b2e07b62fef9d38a9752e3e
parent0579119f7deab9bb112a432a0e8acbc6fc91ea14
ath10k: fix scheduling while atomic config bug

Recent HTC/WMI changes introduced the bug. ath10k
was using _atomic iteration function with
sleepable functions.

mac80211 provides another iteration function but
it cannot be safely called in hw_config() callback
due to local->iflist_mtx being possibly acquired
already.

The patch uses internal vif list for iteration
purposes and removes/refactors no longer necessary
_iter functions.

Reported-By: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c