diff options
| author | mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-08-25 13:18:58 +0000 | 
|---|---|---|
| committer | mbm <mbm@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-08-25 13:18:58 +0000 | 
| commit | 26be7635173c068c8cafd0a9cafb27c4faf3dd16 (patch) | |
| tree | ffc1f97cdede4ed9a00137dc7fe9d165a70c01f5 /target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c | |
| parent | c2e9789198880e5de157dd5dbeaf64b9e0340d23 (diff) | |
workaround for timer glitch on some boards
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8483 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c')
| -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 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 */; +	}  }  | 
