mirror of
https://github.com/torvalds/linux.git
synced 2024-12-19 17:41:29 +00:00
d1f4159723
The commit "ath6kl: Use a mutex_lock to avoid race in diabling and handling irq" introduces a state where ath6kl_sdio_irq_handler() would be waiting to claim the sdio function for receive indefinitely when things happen in the following order. ath6kl_sdio_irq_handler() - aquires mtx_irq - sdio_release_host() ath6kl_sdio_irq_disable() - sdio_claim_host() - sleep on mtx_irq ath6kl_hif_intr_bh_handler() - (indefinitely) wait for the sdio function to be released to exclusively claim it again for receive operation. Fix this by replacing the mtx_irq with an atomic variable and a wait_queue. kvalo: add ath6kl_sdio_is_on_irq() due to open parenthesis alignment Signed-off-by: Raja Mani <rmani@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> |
||
---|---|---|
.. | ||
ath5k | ||
ath6kl | ||
ath9k | ||
carl9170 | ||
ath.h | ||
debug.c | ||
hw.c | ||
Kconfig | ||
key.c | ||
main.c | ||
Makefile | ||
reg.h | ||
regd_common.h | ||
regd.c | ||
regd.h |