From 26be7635173c068c8cafd0a9cafb27c4faf3dd16 Mon Sep 17 00:00:00 2001 From: mbm Date: Sat, 25 Aug 2007 13:18:58 +0000 Subject: workaround for timer glitch on some boards git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8483 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'target/linux') 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 2cf91f202..9c502be58 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 */; + } } -- cgit v1.2.3