diff options
Diffstat (limited to 'arch/mips/kernel/rtlx.c')
| -rw-r--r-- | arch/mips/kernel/rtlx.c | 19 | 
1 files changed, 9 insertions, 10 deletions
| diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index d763f11e35e2..2c12ea1668d1 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c @@ -172,8 +172,9 @@ int rtlx_open(int index, int can_sleep)  	if (rtlx == NULL) {  		if( (p = vpe_get_shared(tclimit)) == NULL) {  		    if (can_sleep) { -			__wait_event_interruptible(channel_wqs[index].lx_queue, -				(p = vpe_get_shared(tclimit)), ret); +			ret = __wait_event_interruptible( +					channel_wqs[index].lx_queue, +					(p = vpe_get_shared(tclimit)));  			if (ret)  				goto out_fail;  		    } else { @@ -263,11 +264,10 @@ unsigned int rtlx_read_poll(int index, int can_sleep)  	/* data available to read? */  	if (chan->lx_read == chan->lx_write) {  		if (can_sleep) { -			int ret = 0; - -			__wait_event_interruptible(channel_wqs[index].lx_queue, +			int ret = __wait_event_interruptible( +				channel_wqs[index].lx_queue,  				(chan->lx_read != chan->lx_write) || -				sp_stopping, ret); +				sp_stopping);  			if (ret)  				return ret; @@ -440,14 +440,13 @@ static ssize_t file_write(struct file *file, const char __user * buffer,  	/* any space left... */  	if (!rtlx_write_poll(minor)) { -		int ret = 0; +		int ret;  		if (file->f_flags & O_NONBLOCK)  			return -EAGAIN; -		__wait_event_interruptible(channel_wqs[minor].rt_queue, -					   rtlx_write_poll(minor), -					   ret); +		ret = __wait_event_interruptible(channel_wqs[minor].rt_queue, +					   rtlx_write_poll(minor));  		if (ret)  			return ret;  	} |