mmc: core: Prevent processing SDIO IRQs when the card is suspended
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 18 Jun 2019 12:05:17 +0000 (14:05 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 18 Jun 2019 12:06:32 +0000 (14:06 +0200)
commit83293386bc95cf5e9f0c0175794455835bd1cb4a
tree6066168c6d57f1965b389d3e31d761386371e4c6
parent0f7b79a44e7d7dd3ef1f59758c1a341f217ff5e5
mmc: core: Prevent processing SDIO IRQs when the card is suspended

Processing of SDIO IRQs must obviously be prevented while the card is
system suspended, otherwise we may end up trying to communicate with an
uninitialized SDIO card.

Reports throughout the years shows that this is not only a theoretical
problem, but a real issue. So, let's finally fix this problem, by keeping
track of the state for the card and bail out before processing the SDIO
IRQ, in case the card is suspended.

Cc: stable@vger.kernel.org
Reported-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/sdio.c
drivers/mmc/core/sdio_irq.c