patch-2.4.0-prerelease linux/include/asm-i386/delay.h

Next file: linux/include/asm-i386/desc.h
Previous file: linux/include/asm-arm/processor.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test12/linux/include/asm-i386/delay.h linux/include/asm-i386/delay.h
@@ -7,12 +7,14 @@
  * Delay routines calling functions in arch/i386/lib/delay.c
  */
  
+extern void __bad_udelay(void);
+
 extern void __udelay(unsigned long usecs);
 extern void __const_udelay(unsigned long usecs);
 extern void __delay(unsigned long loops);
 
 #define udelay(n) (__builtin_constant_p(n) ? \
-	__const_udelay((n) * 0x10c6ul) : \
+	((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c6ul)) : \
 	__udelay(n))
 
 #endif /* defined(_I386_DELAY_H) */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)