]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: core: Prevent processing SDIO IRQs when none is claimed
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 19 Apr 2017 19:52:29 +0000 (21:52 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 20 Jun 2017 08:30:10 +0000 (10:30 +0200)
commit4195c4254ba4388ceb7170a40296735fc124587a
tree8edaeabf0c241e2735e79a525df4b0e2078a86ad
parentdabb2e7f32b803e275ea7fe22ec9ebc26d12c3d6
mmc: core: Prevent processing SDIO IRQs when none is claimed

In cases when MMC_CAP2_SDIO_IRQ_NOTHREAD is set, there is a minor window
for when the mmc host could call sdio_run_irqs(), while in fact an SDIO
func driver could have decided to released the SDIO IRQ via a call to
sdio_release_irq(). In this scenario, processing of the SDIO IRQs are done
even if there is none IRQ claimed, which is not what we want.

To prevent this from happen, close the window by validating that at least
one SDIO IRQs is claimed, before deciding to process them.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
drivers/mmc/core/sdio_irq.c