patch-2.2.18 linux/include/asm-i386/delay.h

Next file: linux/include/asm-i386/elf.h
Previous file: linux/include/asm-i386/bugs.h
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/include/asm-i386/delay.h linux/include/asm-i386/delay.h
@@ -7,13 +7,15 @@
  * Delay routines calling functions in arch/i386/lib/delay.c
  */
  
+extern void __bad_udelay(void);
+
 extern void __const_udelay(unsigned long usecs);
 extern void __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)