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
					
				
			
		
					 1 changed files with 9 additions and 18 deletions
				
			
		|  | @ -46,20 +46,17 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func); | |||
| #define WARN_ON_RATELIMIT(condition, state)			\ | ||||
| 		WARN_ON((condition) && __ratelimit(state)) | ||||
| 
 | ||||
| #define __WARN_RATELIMIT(condition, state, format...)		\ | ||||
| ({								\ | ||||
| 	int rtn = 0;						\ | ||||
| 	if (unlikely(__ratelimit(state)))			\ | ||||
| 		rtn = WARN(condition, format);			\ | ||||
| 	rtn;							\ | ||||
| }) | ||||
| 
 | ||||
| #define WARN_RATELIMIT(condition, format...)			\ | ||||
| #define WARN_RATELIMIT(condition, format, ...)			\ | ||||
| ({								\ | ||||
| 	static DEFINE_RATELIMIT_STATE(_rs,			\ | ||||
| 				      DEFAULT_RATELIMIT_INTERVAL,	\ | ||||
| 				      DEFAULT_RATELIMIT_BURST);	\ | ||||
| 	__WARN_RATELIMIT(condition, &_rs, format);		\ | ||||
| 	int rtn = !!(condition);				\ | ||||
| 								\ | ||||
| 	if (unlikely(rtn && __ratelimit(&_rs)))			\ | ||||
| 		WARN(rtn, format, ##__VA_ARGS__);		\ | ||||
| 								\ | ||||
| 	rtn;							\ | ||||
| }) | ||||
| 
 | ||||
| #else | ||||
|  | @ -67,15 +64,9 @@ extern int ___ratelimit(struct ratelimit_state *rs, const char *func); | |||
| #define WARN_ON_RATELIMIT(condition, state)			\ | ||||
| 	WARN_ON(condition) | ||||
| 
 | ||||
| #define __WARN_RATELIMIT(condition, state, format...)		\ | ||||
| #define WARN_RATELIMIT(condition, format, ...)			\ | ||||
| ({								\ | ||||
| 	int rtn = WARN(condition, format);			\ | ||||
| 	rtn;							\ | ||||
| }) | ||||
| 
 | ||||
| #define WARN_RATELIMIT(condition, format...)			\ | ||||
| ({								\ | ||||
| 	int rtn = WARN(condition, format);			\ | ||||
| 	int rtn = WARN(condition, format, ##__VA_ARGS__);	\ | ||||
| 	rtn;							\ | ||||
| }) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Markus Trippelsdorf
				Markus Trippelsdorf