Skip to content
Commit 89f3c365 authored by Adrian Hunter's avatar Adrian Hunter Committed by Ulf Hansson
Browse files

mmc: sdhci: Fix SDIO IRQ thread deadlock



Since commit c07a48c2 ("mmc: sdhci: Remove finish_tasklet"), the IRQ
thread might be used to complete requests, but the IRQ thread is also used
to process SDIO card interrupts. This can cause a deadlock when the SDIO
processing tries to access the card since that would also require the IRQ
thread. Change SDHCI to use sdio_signal_irq() to schedule a work item
instead. That also requires implementing the ->ack_sdio_irq() mmc host op.

Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Fixes: c07a48c2 ("mmc: sdhci: Remove finish_tasklet")
Reported-by: default avatarBrian Masney <masneyb@onstation.org>
Tested-by: default avatarBrian Masney <masneyb@onstation.org>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent c2c1e63a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment