mmc: sdio: avoid using NULL sdio_irq_thread pointer
authorYangbo Lu <yangbo.lu@freescale.com>
Fri, 10 Jul 2015 03:36:45 +0000 (11:36 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 17 Aug 2015 09:32:46 +0000 (11:32 +0200)
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>
include/linux/mmc/host.h

index 1369e54faeb7e2ee8ef3d49481751249c70bbcbd..83b81fd865f3bba12e7bc7d4c0ac8091ca067c09 100644 (file)
@@ -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);