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)
committerJunghoon Kim <jhoon20.kim@samsung.com>
Thu, 14 Feb 2019 05:58:05 +0000 (14:58 +0900)
commitb0c8ad7e78ead5bf336f6ab446b0a729f92b04a6
tree2fef2073322f72ac92c03b180bfafe2cb4a34b1f
parente2faacf9e53376b72a10118d886224ab06dd3f54
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>
Change-Id: I172ee95730a0f45b0a2f4dea002c59928f3b1e63
drivers/mmc/host/dw_mmc-exynos.c