|
@@ -266,9 +266,20 @@ extern asmlinkage void dump_stack(void) __cold;
|
|
|
printk(fmt, ##__VA_ARGS__); \
|
|
|
} \
|
|
|
})
|
|
|
+#define printk_deferred_once(fmt, ...) \
|
|
|
+({ \
|
|
|
+ static bool __print_once __read_mostly; \
|
|
|
+ \
|
|
|
+ if (!__print_once) { \
|
|
|
+ __print_once = true; \
|
|
|
+ printk_deferred(fmt, ##__VA_ARGS__); \
|
|
|
+ } \
|
|
|
+})
|
|
|
#else
|
|
|
#define printk_once(fmt, ...) \
|
|
|
no_printk(fmt, ##__VA_ARGS__)
|
|
|
+#define printk_deferred_once(fmt, ...) \
|
|
|
+ no_printk(fmt, ##__VA_ARGS__)
|
|
|
#endif
|
|
|
|
|
|
#define pr_emerg_once(fmt, ...) \
|