diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 0cd9711895faaf6259baeaf3a66cf6484d41804a..845cb67ad8ea5d40bcb707462d30879255247b81 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h @@ -38,4 +38,17 @@ #endif #endif +#define WARN_ON_ONCE(condition) \ +({ \ + static int __warn_once = 1; \ + int __ret = 0; \ + \ + if (unlikely((condition) && __warn_once)) { \ + __warn_once = 0; \ + WARN_ON(1); \ + __ret = 1; \ + } \ + __ret; \ +}) + #endif