tty: Fix bogus "callbacks suppressed" messages
On the current git tree one sees messages such as: tty_init_dev: 24 callbacks suppressed tty_init_dev: 3 callbacks suppressed To fix this we need to look at condition before calling __ratelimit in the WARN_RATELIMIT macro. While at it remove the superfluous __WARN_RATELIMIT macros. Original patch is from Joe Perches and Jiri Slaby. Signed-off-by: Markus Trippelsdorf <markus@trippelsdorf.de> Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6f5601251d
commit
2351a6c6e7
|
@ -46,20 +46,17 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func);
|
||||||
#define WARN_ON_RATELIMIT(condition, state) \
|
#define WARN_ON_RATELIMIT(condition, state) \
|
||||||
WARN_ON((condition) && __ratelimit(state))
|
WARN_ON((condition) && __ratelimit(state))
|
||||||
|
|
||||||
#define __WARN_RATELIMIT(condition, state, format...) \
|
#define WARN_RATELIMIT(condition, format, ...) \
|
||||||
({ \
|
|
||||||
int rtn = 0; \
|
|
||||||
if (unlikely(__ratelimit(state))) \
|
|
||||||
rtn = WARN(condition, format); \
|
|
||||||
rtn; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define WARN_RATELIMIT(condition, format...) \
|
|
||||||
({ \
|
({ \
|
||||||
static DEFINE_RATELIMIT_STATE(_rs, \
|
static DEFINE_RATELIMIT_STATE(_rs, \
|
||||||
DEFAULT_RATELIMIT_INTERVAL, \
|
DEFAULT_RATELIMIT_INTERVAL, \
|
||||||
DEFAULT_RATELIMIT_BURST); \
|
DEFAULT_RATELIMIT_BURST); \
|
||||||
__WARN_RATELIMIT(condition, &_rs, format); \
|
int rtn = !!(condition); \
|
||||||
|
\
|
||||||
|
if (unlikely(rtn && __ratelimit(&_rs))) \
|
||||||
|
WARN(rtn, format, ##__VA_ARGS__); \
|
||||||
|
\
|
||||||
|
rtn; \
|
||||||
})
|
})
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
@ -67,15 +64,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func);
|
||||||
#define WARN_ON_RATELIMIT(condition, state) \
|
#define WARN_ON_RATELIMIT(condition, state) \
|
||||||
WARN_ON(condition)
|
WARN_ON(condition)
|
||||||
|
|
||||||
#define __WARN_RATELIMIT(condition, state, format...) \
|
#define WARN_RATELIMIT(condition, format, ...) \
|
||||||
({ \
|
({ \
|
||||||
int rtn = WARN(condition, format); \
|
int rtn = WARN(condition, format, ##__VA_ARGS__); \
|
||||||
rtn; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define WARN_RATELIMIT(condition, format...) \
|
|
||||||
({ \
|
|
||||||
int rtn = WARN(condition, format); \
|
|
||||||
rtn; \
|
rtn; \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue