Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57f0d12c authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'msm-fix-3.9' of...

Merge tag 'msm-fix-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm into fixes

From David Brown <davidb@codeaurora.org>:

This fix is intended for v3.9.  It fixes a timer bug on MSM targets
that cause system hangs.

* tag 'msm-fix-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm

:
  ARM: msm: Stop counting before reprogramming clockevent

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 8bb96604 4080d2d1
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -62,7 +62,10 @@ static int msm_timer_set_next_event(unsigned long cycles,
{
	u32 ctrl = readl_relaxed(event_base + TIMER_ENABLE);

	writel_relaxed(0, event_base + TIMER_CLEAR);
	ctrl &= ~TIMER_ENABLE_EN;
	writel_relaxed(ctrl, event_base + TIMER_ENABLE);

	writel_relaxed(ctrl, event_base + TIMER_CLEAR);
	writel_relaxed(cycles, event_base + TIMER_MATCH_VAL);
	writel_relaxed(ctrl | TIMER_ENABLE_EN, event_base + TIMER_ENABLE);
	return 0;