diff options
author | Mike Baker <mbm@openwrt.org> | 2007-08-25 13:18:58 +0000 |
---|---|---|
committer | Mike Baker <mbm@openwrt.org> | 2007-08-25 13:18:58 +0000 |
commit | 7ab328b133d77b2fd4b77b34d7f5561cae794af2 (patch) | |
tree | f326680b775a207ec84843157f423fa1660fd463 /target/linux/brcm-2.4/files/arch | |
parent | c6e6780624dbc6fa1488b6c2fd3a2936215c436b (diff) | |
download | upstream-7ab328b133d77b2fd4b77b34d7f5561cae794af2.tar.gz upstream-7ab328b133d77b2fd4b77b34d7f5561cae794af2.tar.bz2 upstream-7ab328b133d77b2fd4b77b34d7f5561cae794af2.zip |
workaround for timer glitch on some boards
SVN-Revision: 8483
Diffstat (limited to 'target/linux/brcm-2.4/files/arch')
-rw-r--r-- | target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c b/target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c index 2cf91f202e..9c502be580 100644 --- a/target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c +++ b/target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c @@ -99,6 +99,17 @@ static struct irqaction bcm947xx_timer_irqaction = { void __init bcm947xx_timer_setup(struct irqaction *irq) { + int x; + /* Enable the timer interrupt */ setup_irq(7, &bcm947xx_timer_irqaction); + + sti(); + + for (x=0; x<5; x++) { + unsigned long ticks; + ticks = jiffies; + while (ticks == jiffies) + /* do nothing */; + } } |