diff options
author | Jarod Wilson <jarod@redhat.com> | 2010-10-16 21:36:43 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-10-22 20:05:36 -0200 |
commit | d889a135cb832c77b7f90a89b40090e4e9ba609b (patch) | |
tree | 3b11de68a05c50b3726b32882b962666e45f89ba | |
parent | 90dc4cfa2076cdc4df4c2f5dd3cadeefd9557c2c (diff) | |
download | blackbird-op-linux-d889a135cb832c77b7f90a89b40090e4e9ba609b.tar.gz blackbird-op-linux-d889a135cb832c77b7f90a89b40090e4e9ba609b.zip |
[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: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/IR/lirc_dev.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/IR/lirc_dev.c b/drivers/media/IR/lirc_dev.c index 19a16cef7d65..3eea3736711e 100644 --- a/drivers/media/IR/lirc_dev.c +++ b/drivers/media/IR/lirc_dev.c @@ -432,7 +432,6 @@ int lirc_dev_fop_open(struct inode *inode, struct file *file) retval = -ENODEV; goto error; } - file->private_data = ir; 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) { __u32 mode; int result = 0; - struct irctl *ir = file->private_data; + struct irctl *ir = irctls[iminor(file->f_dentry->d_inode)]; if (!ir) { printk(KERN_ERR "lirc_dev: %s: no irctl found!\n", __func__); |