|
@@ -97,6 +97,16 @@ extern void warn_slowpath(const char *file, const int line,
|
|
|
unlikely(__ret_warn_once); \
|
|
|
})
|
|
|
|
|
|
+#define WARN_ONCE(condition, format...) ({ \
|
|
|
+ static int __warned; \
|
|
|
+ int __ret_warn_once = !!(condition); \
|
|
|
+ \
|
|
|
+ if (unlikely(__ret_warn_once)) \
|
|
|
+ if (WARN(!__warned, format)) \
|
|
|
+ __warned = 1; \
|
|
|
+ unlikely(__ret_warn_once); \
|
|
|
+})
|
|
|
+
|
|
|
#define WARN_ON_RATELIMIT(condition, state) \
|
|
|
WARN_ON((condition) && __ratelimit(state))
|
|
|
|