diff options
Diffstat (limited to 'arch/mips/kernel/rtlx.c')
| -rw-r--r-- | arch/mips/kernel/rtlx.c | 13 | 
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index b8c18dcdd2c..88f7b50d541 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c @@ -399,11 +399,9 @@ static int file_release(struct inode *inode, struct file *filp)  static unsigned int file_poll(struct file *file, poll_table * wait)  { -	int minor; +	int minor = iminor(file_inode(file));  	unsigned int mask = 0; -	minor = iminor(file->f_path.dentry->d_inode); -  	poll_wait(file, &channel_wqs[minor].rt_queue, wait);  	poll_wait(file, &channel_wqs[minor].lx_queue, wait); @@ -424,7 +422,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait)  static ssize_t file_read(struct file *file, char __user * buffer, size_t count,  			 loff_t * ppos)  { -	int minor = iminor(file->f_path.dentry->d_inode); +	int minor = iminor(file_inode(file));  	/* data available? */  	if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) { @@ -437,11 +435,8 @@ static ssize_t file_read(struct file *file, char __user * buffer, size_t count,  static ssize_t file_write(struct file *file, const char __user * buffer,  			  size_t count, loff_t * ppos)  { -	int minor; -	struct rtlx_channel *rt; - -	minor = iminor(file->f_path.dentry->d_inode); -	rt = &rtlx->channel[minor]; +	int minor = iminor(file_inode(file)); +	struct rtlx_channel *rt = &rtlx->channel[minor];  	/* any space left... */  	if (!rtlx_write_poll(minor)) {  |