提交 d889a135 编写于 作者: J Jarod Wilson 提交者: Mauro Carvalho Chehab

[media] lirc_dev: get irctl from irctls by inode again

Can't explain it (yet), but I've seen the 'get irctl via private_data'
setup fail for a number of people (ioctl called before its filled in?),
so lets go back to a variant of the old way, but one that still works
with unlocked_ioctl.
Signed-off-by: NJarod Wilson <jarod@redhat.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 90dc4cfa
...@@ -432,7 +432,6 @@ int lirc_dev_fop_open(struct inode *inode, struct file *file) ...@@ -432,7 +432,6 @@ int lirc_dev_fop_open(struct inode *inode, struct file *file)
retval = -ENODEV; retval = -ENODEV;
goto error; goto error;
} }
file->private_data = ir;
dev_dbg(ir->d.dev, LOGHEAD "open called\n", ir->d.name, ir->d.minor); dev_dbg(ir->d.dev, LOGHEAD "open called\n", ir->d.name, ir->d.minor);
...@@ -528,7 +527,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -528,7 +527,7 @@ long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
{ {
__u32 mode; __u32 mode;
int result = 0; int result = 0;
struct irctl *ir = file->private_data; struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)];
if (!ir) { if (!ir) {
printk(KERN_ERR "lirc_dev: %s: no irctl found!\n", __func__); printk(KERN_ERR "lirc_dev: %s: no irctl found!\n", __func__);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册