diff options
author | Stuart Menefy <stuart.menefy@mathembedded.com> | 2019-02-10 22:51:14 +0000 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2019-02-23 12:13:45 +0100 |
commit | d2f276c8d3c224d5b493c42b6cf006ae4e64fb1c (patch) | |
tree | 5a65350a8fde51dda0e6ba72ffb6c8737f36160c /drivers/clocksource/exynos_mct.c | |
parent | a5719a40aef956ba704f2aa1c7b977224d60fa96 (diff) | |
download | linux-stable-d2f276c8d3c224d5b493c42b6cf006ae4e64fb1c.tar.gz linux-stable-d2f276c8d3c224d5b493c42b6cf006ae4e64fb1c.tar.bz2 linux-stable-d2f276c8d3c224d5b493c42b6cf006ae4e64fb1c.zip |
clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown
When shutting down the timer, ensure that after we have stopped the
timer any pending interrupts are cleared. This fixes a problem when
suspending, as interrupts are disabled before the timer is stopped,
so the timer interrupt may still be asserted, preventing the system
entering a low power state when the wfi is executed.
Signed-off-by: Stuart Menefy <stuart.menefy@mathembedded.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: <stable@vger.kernel.org> # v4.3+
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/clocksource/exynos_mct.c')
-rw-r--r-- | drivers/clocksource/exynos_mct.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_mct.c index 1e325f89d408..d55c30f6981d 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -411,6 +411,7 @@ static int set_state_shutdown(struct clock_event_device *evt) mevt = container_of(evt, struct mct_clock_event_device, evt); exynos4_mct_tick_stop(mevt); + exynos4_mct_tick_clear(mevt); return 0; } |