diff options
author | Yangbo Lu <yangbo.lu@freescale.com> | 2015-07-10 11:36:45 +0800 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-08-17 11:32:46 +0200 |
commit | f13e5b9f3c625916d7658ba526574a5d24e4d664 (patch) | |
tree | ae0516de2da20b2e05b36a777e7d5fc3e1830bd5 | |
parent | 4c06654c47ee2ff5308b7e89994225ff81b48ef2 (diff) | |
download | op-kernel-dev-f13e5b9f3c625916d7658ba526574a5d24e4d664.zip op-kernel-dev-f13e5b9f3c625916d7658ba526574a5d24e4d664.tar.gz |
mmc: sdio: avoid using NULL sdio_irq_thread pointer
For Freescale QorIQ LS1021AQDS board, there is a SDIO interrupt
in the process of resume without inserting SD adapter because of
some unknown issue. But the driver doesn't assign sdio_irq_thread
pointer. This will block the resume of kernel. This patch is used
to avoid using NULL sdio_irq_thread pointer.
Signed-off-by: Yangbo Lu <yangbo.lu@freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r-- | include/linux/mmc/host.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 1369e54..83b81fd 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -412,7 +412,8 @@ static inline void mmc_signal_sdio_irq(struct mmc_host *host) { host->ops->enable_sdio_irq(host, 0); host->sdio_irq_pending = true; - wake_up_process(host->sdio_irq_thread); + if (host->sdio_irq_thread) + wake_up_process(host->sdio_irq_thread); } void sdio_run_irqs(struct mmc_host *host); |