| #ifndef _ASM_GENERIC_BUG_H | 
 | #define _ASM_GENERIC_BUG_H | 
 |  | 
 | #include <linux/compiler.h> | 
 | #include <linux/config.h> | 
 |  | 
 | #ifdef CONFIG_BUG | 
 | #ifndef HAVE_ARCH_BUG | 
 | #define BUG() do { \ | 
 | 	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ | 
 | 	panic("BUG!"); \ | 
 | } while (0) | 
 | #endif | 
 |  | 
 | #ifndef HAVE_ARCH_BUG_ON | 
 | #define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0) | 
 | #endif | 
 |  | 
 | #ifndef HAVE_ARCH_WARN_ON | 
 | #define WARN_ON(condition) do { \ | 
 | 	if (unlikely((condition)!=0)) { \ | 
 | 		printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ | 
 | 		dump_stack(); \ | 
 | 	} \ | 
 | } while (0) | 
 | #endif | 
 |  | 
 | #else /* !CONFIG_BUG */ | 
 | #ifndef HAVE_ARCH_BUG | 
 | #define BUG() | 
 | #endif | 
 |  | 
 | #ifndef HAVE_ARCH_BUG_ON | 
 | #define BUG_ON(condition) do { if (condition) ; } while(0) | 
 | #endif | 
 |  | 
 | #ifndef HAVE_ARCH_WARN_ON | 
 | #define WARN_ON(condition) do { if (condition) ; } while(0) | 
 | #endif | 
 | #endif | 
 |  | 
 | #endif |