Explorar o código

workaround for timer glitch on some boards

SVN-Revision: 8483
Mike Baker %!s(int64=18) %!d(string=hai) anos
pai
achega
7ab328b133
Modificáronse 1 ficheiros con 11 adicións e 0 borrados
  1. 11 0
      target/linux/brcm-2.4/files/arch/mips/bcm947xx/time.c

+ 11 - 0
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 */;
+	}
 }