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)			\ | #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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Markus Trippelsdorf
				Markus Trippelsdorf