mmc: dw_mmc-exynos: fix potential external abort in resume_noirq()
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 12 Jun 2018 10:55:23 +0000 (12:55 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 16 Jul 2018 09:21:45 +0000 (11:21 +0200)
commitecf7c7c5855aca18ddde534d7bfff111ce0cb26f
tree4a0472609e775f15ac53f4a9fd871d699822c5b2
parent75067aba7afbeca2101f50f78ac1b7c036778c44
mmc: dw_mmc-exynos: fix potential external abort in resume_noirq()

dw_mci_exynos_resume_noirq() performs DWMMC register access without
ensuring that respective clocks are enabled. This might cause external
abort on some systems (observed on Exynos5433 based boards). Fix this
by forcing a PM runtime active state before register access. Using
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS allows also to cleanup conditional code
a bit.

Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc-exynos.c