Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd01b2fc79a567ae03d0c96ddf61eb4de729d36d
Commit:     dd01b2fc79a567ae03d0c96ddf61eb4de729d36d
Parent:     fd8e7af8d0fd3febc87607214d5dd545089edc71
Author:     Russell King <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 23 12:34:16 2008 +0000
Committer:  Russell King <[EMAIL PROTECTED]>
CommitDate: Sat Jan 26 15:07:57 2008 +0000

    [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 <[EMAIL PROTECTED]>
---
 arch/arm/mach-pxa/time.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-pxa/time.c b/arch/arm/mach-pxa/time.c
index ac0bbad..7b7c017 100644
--- a/arch/arm/mach-pxa/time.c
+++ b/arch/arm/mach-pxa/time.c
@@ -169,7 +169,7 @@ static void __init pxa_timer_init(void)
        ckevt_pxa_osmr0.max_delta_ns =
                clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
        ckevt_pxa_osmr0.min_delta_ns =
-               clockevent_delta2ns(MIN_OSCR_DELTA, &ckevt_pxa_osmr0) + 1;
+               clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
 
        cksrc_pxa_oscr0.mult =
                clocksource_hz2mult(clock_tick_rate, cksrc_pxa_oscr0.shift);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to