mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	Char: n_r3964, use wait_event_interruptible
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									e0955e14f7
								
							
						
					
					
						commit
						6defec139a
					
				
					 1 changed files with 2 additions and 12 deletions
				
			
		|  | @ -1071,8 +1071,6 @@ static ssize_t r3964_read(struct tty_struct *tty, struct file *file, | ||||||
| 	struct r3964_client_info *pClient; | 	struct r3964_client_info *pClient; | ||||||
| 	struct r3964_message *pMsg; | 	struct r3964_message *pMsg; | ||||||
| 	struct r3964_client_message theMsg; | 	struct r3964_client_message theMsg; | ||||||
| 	DECLARE_WAITQUEUE(wait, current); |  | ||||||
| 
 |  | ||||||
| 	int count; | 	int count; | ||||||
| 
 | 
 | ||||||
| 	TRACE_L("read()"); | 	TRACE_L("read()"); | ||||||
|  | @ -1086,16 +1084,8 @@ static ssize_t r3964_read(struct tty_struct *tty, struct file *file, | ||||||
| 				return -EAGAIN; | 				return -EAGAIN; | ||||||
| 			} | 			} | ||||||
| 			/* block until there is a message: */ | 			/* block until there is a message: */ | ||||||
| 			add_wait_queue(&pInfo->read_wait, &wait); | 			wait_event_interruptible(pInfo->read_wait, | ||||||
| repeat: | 					(pMsg = remove_msg(pInfo, pClient))); | ||||||
| 			__set_current_state(TASK_INTERRUPTIBLE); |  | ||||||
| 			pMsg = remove_msg(pInfo, pClient); |  | ||||||
| 			if (!pMsg && !signal_pending(current)) { |  | ||||||
| 				schedule(); |  | ||||||
| 				goto repeat; |  | ||||||
| 			} |  | ||||||
| 			__set_current_state(TASK_RUNNING); |  | ||||||
| 			remove_wait_queue(&pInfo->read_wait, &wait); |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		/* If we still haven't got a message, we must have been signalled */ | 		/* If we still haven't got a message, we must have been signalled */ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Jiri Slaby
						Jiri Slaby