diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2006-06-22 05:30:53 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-06-22 05:30:53 -0400 |
commit | f869afab8f36c5f8561557f74b4b9846719092da (patch) | |
tree | 6a23d7981a3b06b9cd40ad99c1543d22f6a1d528 /arch/arm/plat-omap | |
parent | 84b61f6d3ad8a5761e61d83076588f64a289a574 (diff) |
[ARM] 3616/1: fix timer handler wrap logic for a number of platforms
Patch from Lennert Buytenhek
A couple of platforms aren't using the right comparison type in their
timer interrupt handlers (as we're comparing two wrapping timestamps,
we need a bmi/bpl-type comparison, not an unsigned comparison) -- this
patch fixes them up.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/timer32k.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/timer32k.c b/arch/arm/plat-omap/timer32k.c index b2a943bf11ef..3461a6c9665c 100644 --- a/arch/arm/plat-omap/timer32k.c +++ b/arch/arm/plat-omap/timer32k.c | |||
@@ -210,7 +210,8 @@ static irqreturn_t omap_32k_timer_interrupt(int irq, void *dev_id, | |||
210 | 210 | ||
211 | now = omap_32k_sync_timer_read(); | 211 | now = omap_32k_sync_timer_read(); |
212 | 212 | ||
213 | while (now - omap_32k_last_tick >= OMAP_32K_TICKS_PER_HZ) { | 213 | while ((signed long)(now - omap_32k_last_tick) |
214 | >= OMAP_32K_TICKS_PER_HZ) { | ||
214 | omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ; | 215 | omap_32k_last_tick += OMAP_32K_TICKS_PER_HZ; |
215 | timer_tick(regs); | 216 | timer_tick(regs); |
216 | } | 217 | } |