OSDN Git Service

[ARM] pxa: fix PXA27x resume
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Wed, 23 Jan 2008 12:34:16 +0000 (12:34 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 26 Jan 2008 15:07:57 +0000 (15:07 +0000)
commitdd01b2fc79a567ae03d0c96ddf61eb4de729d36d
tree3595a660158448fdb2e119affe9ea56c3ff1d5f9
parentfd8e7af8d0fd3febc87607214d5dd545089edc71
[ARM] pxa: fix PXA27x resume

When PXA27x wakes up, tick_resume_oneshot() tries to set a timer
interrupt to occur immediately.  Since PXA27x requires at least
MIN_OSCR_DELTA, this causes us to flag an error.

tick_program_event() then increments the next event time by
min_delta_ns.  However, by the time we get back to programming
the next event, the OSCR has incremented such that we fail again.
We repeatedly retry, but the OSCR is too fast for us - we never
catch up, so we never break out of the loop - resulting in us
never apparantly resuming.

Fix this by doubling min_delta_ns.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/time.c