Commit 74242039 authored by Deepak Saxena's avatar Deepak Saxena Committed by Russell King

[ARM PATCH] 2252/1: Fix IXP4XX timer interrupt implementation

Patch from Deepak Saxena

The current timer interrupt implementation can cause time to skip
forward by ~65s and causes a 1 minute pause during bootup. The fix
for this was found during 2.4 but got lost in the 2.6 transition.
  
Details @:
  
http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2003-September/017171.html
  

Signed-off-by: Deepak Saxena
Signed-off-by: Russell King
parent d8d790ed
...@@ -229,10 +229,10 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs ...@@ -229,10 +229,10 @@ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs
/* /*
* Catch up with the real idea of time * Catch up with the real idea of time
*/ */
do { while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
timer_tick(regs); timer_tick(regs);
last_jiffy_time += LATCH; last_jiffy_time += LATCH;
} while((*IXP4XX_OSTS - last_jiffy_time) > LATCH); }
write_sequnlock(&xtime_lock); write_sequnlock(&xtime_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment