[ewg] [PATCH ofed-1.2 3/3] ehca backport 2.6.17

Stefan Roscher ossrosch at linux.vnet.ibm.com
Fri Mar 9 02:05:54 PST 2007


backport WARN_ON_ONCE macro for 2.6.17


Signed-off-by: Stefan Roscher <stefan.roscher at de.ibm.com>
---


diff -Nurp a/include/asm-generic/bug.h b/include/asm-generic/bug.h
--- a/include/asm-generic/bug.h	1970-01-01 01:00:00.000000000 +0100
+++ b/include/asm-generic/bug.h	2007-03-08 14:56:10.000000000 +0100
@@ -0,0 +1,34 @@
+#ifndef _BACKPORT_ASM_GENERIC_BUG_H
+#define _BACKPORT_ASM_GENERIC_BUG_H
+
+#include_next <asm-generic/bug.h>
+
+#ifdef CONFIG_BUG
+#define WARN_ON_2(condition) ({                                 \
+        typeof(condition) __ret_warn_on = (condition);          \
+        if (unlikely(__ret_warn_on)) {                          \
+                printk("BUG: at %s:%d %s()\n", __FILE__,        \
+                        __LINE__, __FUNCTION__);                \
+                dump_stack();                                   \
+        }                                                       \
+        unlikely(__ret_warn_on);                                \
+})
+
+#else /* !CONFIG_BUG */
+
+#define WARN_ON_2(condition) ({                                 \
+        typeof(condition) __ret_warn_on = (condition);          \
+        unlikely(__ret_warn_on);                                \
+})
+#endif
+#define WARN_ON_ONCE(condition) ({                              \
+        static int __warned;                                    \
+        typeof(condition) __ret_warn_once = (condition);        \
+                                                                \
+        if (unlikely(__ret_warn_once))                          \
+                if (WARN_ON_2(!__warned))                       \
+                        __warned = 1;                           \
+        unlikely(__ret_warn_once);                              \
+})
+
+#endif






More information about the ewg mailing list