There are three files in oss for which I could not find an easy way to replace interruptible_sleep_on_timeout with a non-racy version. This patch instead just adds a private implementation of the function, now named oss_broken_sleep_on, and changes over the remaining users in sound/oss/ so we can remove the global interface. [fixed coding style warnings by tiwai] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
		
			
				
	
	
		
			18 lines
		
	
	
	
		
			464 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
	
		
			464 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#include <linux/wait.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * Do not use. This is a replacement for the old
 | 
						|
 * "interruptible_sleep_on_timeout" function that has been
 | 
						|
 * deprecated for ages. All users should instead try to use
 | 
						|
 * wait_event_interruptible_timeout.
 | 
						|
 */
 | 
						|
 | 
						|
static inline long
 | 
						|
oss_broken_sleep_on(wait_queue_head_t *q, long timeout)
 | 
						|
{
 | 
						|
	DEFINE_WAIT(wait);
 | 
						|
	prepare_to_wait(q, &wait, TASK_INTERRUPTIBLE);
 | 
						|
	timeout = schedule_timeout(timeout);
 | 
						|
	finish_wait(q, &wait);
 | 
						|
	return timeout;
 | 
						|
}
 |