Before calling __ratelimit in __WARN_RATELIMIT, check the condition
first. When this check was not there, we got constant income of:
tty_init_dev: 60 callbacks suppressed
tty_init_dev: 59 callbacks suppressed

Signed-off-by: Jiri Slaby <jsl...@suse.cz>
Cc: Joe Perches <j...@perches.com>
---
 include/linux/ratelimit.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h
index e11ccb4..966d35c 100644
--- a/include/linux/ratelimit.h
+++ b/include/linux/ratelimit.h
@@ -49,8 +49,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const 
char *func);
 #define __WARN_RATELIMIT(condition, state, format...)          \
 ({                                                             \
        int rtn = 0;                                            \
-       if (unlikely(__ratelimit(state)))                       \
-               rtn = WARN(condition, format);                  \
+       int __rtcond = !!condition;                             \
+       if (unlikely(__rtcond && __ratelimit(state)))           \
+               rtn = WARN(__rtcond, format);                   \
        rtn;                                                    \
 })
 
-- 
1.7.11.5


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to