diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-24 21:12:47 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-24 21:12:47 +0000 |
commit | 9a161310d7fbbc285576a6d822bbcdf93744e836 (patch) | |
tree | e4c469200e07e87af6518fafbb4b3dc7ebd5b3cb /linux/drivers/media/video | |
parent | 09aaab39357cabdaf8446e398d8eea2aee045d11 (diff) | |
download | mediapointer-dvb-s2-9a161310d7fbbc285576a6d822bbcdf93744e836.tar.gz mediapointer-dvb-s2-9a161310d7fbbc285576a6d822bbcdf93744e836.tar.bz2 |
changed ioctls to unlocked
From: Stoyan Gaydarov <stoyboyker@gmail.com>
Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/dabusb.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/linux/drivers/media/video/dabusb.c b/linux/drivers/media/video/dabusb.c index 8c0cab8b2..5585f46dd 100644 --- a/linux/drivers/media/video/dabusb.c +++ b/linux/drivers/media/video/dabusb.c @@ -734,8 +734,9 @@ static int dabusb_release (struct inode *inode, struct file *file) return 0; } -static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) +static long dabusb_ioctl (struct file *file, unsigned int cmd, unsigned long arg) { + lock_kernel(); pdabusb_t s = (pdabusb_t) file->private_data; pbulk_transfer_t pbulk; int ret = 0; @@ -743,13 +744,16 @@ static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cm dbg("dabusb_ioctl"); - if (s->remove_pending) + if (s->remove_pending) { + unlock_kernel(); return -EIO; + } mutex_lock(&s->mutex); if (!s->usbdev) { mutex_unlock(&s->mutex); + unlock_kernel(); return -EIO; } @@ -790,6 +794,7 @@ static int dabusb_ioctl (struct inode *inode, struct file *file, unsigned int cm break; } mutex_unlock(&s->mutex); + unlock_kernel(); return ret; } @@ -802,7 +807,7 @@ static struct file_operations dabusb_fops = .owner = THIS_MODULE, .llseek = no_llseek, .read = dabusb_read, - .ioctl = dabusb_ioctl, + .unlocked_ioctl = dabusb_ioctl, .open = dabusb_open, .release = dabusb_release, }; |