summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/carl9170
diff options
context:
space:
mode:
authorRaja Mani <rmani@qca.qualcomm.com>2012-02-09 12:57:12 +0530
committerKalle Valo <kvalo@qca.qualcomm.com>2012-03-01 09:34:12 +0200
commitd1f4159723450252b643bcddff064153f32918bc (patch)
treee9431ed202bf979681c027106e93b72b86db4ef4 /drivers/net/wireless/ath/carl9170
parentaf840ba7e2886ee69e252e752ebd0cb34e78f6f4 (diff)
downloadtalos-op-linux-d1f4159723450252b643bcddff064153f32918bc.tar.gz
talos-op-linux-d1f4159723450252b643bcddff064153f32918bc.zip
ath6kl: Fix random system lockup
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>
Diffstat (limited to 'drivers/net/wireless/ath/carl9170')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud