Commit 7074f407 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

V4L/DVB: pwc: remove BKL

Signed-off-by: default avatarHans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 479567ce
...@@ -163,7 +163,7 @@ static const struct v4l2_file_operations pwc_fops = { ...@@ -163,7 +163,7 @@ static const struct v4l2_file_operations pwc_fops = {
.read = pwc_video_read, .read = pwc_video_read,
.poll = pwc_video_poll, .poll = pwc_video_poll,
.mmap = pwc_video_mmap, .mmap = pwc_video_mmap,
.ioctl = pwc_video_ioctl, .unlocked_ioctl = pwc_video_ioctl,
}; };
static struct video_device pwc_template = { static struct video_device pwc_template = {
.name = "Philips Webcam", /* Filled in later */ .name = "Philips Webcam", /* Filled in later */
...@@ -1247,8 +1247,8 @@ static int pwc_video_close(struct file *file) ...@@ -1247,8 +1247,8 @@ static int pwc_video_close(struct file *file)
PWC_DEBUG_OPEN(">> video_close called(vdev = 0x%p).\n", vdev); PWC_DEBUG_OPEN(">> video_close called(vdev = 0x%p).\n", vdev);
lock_kernel();
pdev = video_get_drvdata(vdev); pdev = video_get_drvdata(vdev);
mutex_lock(&pdev->modlock);
if (pdev->vopen == 0) if (pdev->vopen == 0)
PWC_DEBUG_MODULE("video_close() called on closed device?\n"); PWC_DEBUG_MODULE("video_close() called on closed device?\n");
...@@ -1286,7 +1286,7 @@ static int pwc_video_close(struct file *file) ...@@ -1286,7 +1286,7 @@ static int pwc_video_close(struct file *file)
if (device_hint[hint].pdev == pdev) if (device_hint[hint].pdev == pdev)
device_hint[hint].pdev = NULL; device_hint[hint].pdev = NULL;
} }
unlock_kernel(); mutex_unlock(&pdev->modlock);
return 0; return 0;
} }
...@@ -1872,8 +1872,8 @@ static void usb_pwc_disconnect(struct usb_interface *intf) ...@@ -1872,8 +1872,8 @@ static void usb_pwc_disconnect(struct usb_interface *intf)
struct pwc_device *pdev; struct pwc_device *pdev;
int hint; int hint;
lock_kernel();
pdev = usb_get_intfdata (intf); pdev = usb_get_intfdata (intf);
mutex_lock(&pdev->modlock);
usb_set_intfdata (intf, NULL); usb_set_intfdata (intf, NULL);
if (pdev == NULL) { if (pdev == NULL) {
PWC_ERROR("pwc_disconnect() Called without private pointer.\n"); PWC_ERROR("pwc_disconnect() Called without private pointer.\n");
...@@ -1898,9 +1898,7 @@ static void usb_pwc_disconnect(struct usb_interface *intf) ...@@ -1898,9 +1898,7 @@ static void usb_pwc_disconnect(struct usb_interface *intf)
wake_up_interruptible(&pdev->frameq); wake_up_interruptible(&pdev->frameq);
/* Wait until device is closed */ /* Wait until device is closed */
if (pdev->vopen) { if (pdev->vopen) {
mutex_lock(&pdev->modlock);
pdev->unplugged = 1; pdev->unplugged = 1;
mutex_unlock(&pdev->modlock);
pwc_iso_stop(pdev); pwc_iso_stop(pdev);
} else { } else {
/* Device is closed, so we can safely unregister it */ /* Device is closed, so we can safely unregister it */
...@@ -1914,7 +1912,7 @@ static void usb_pwc_disconnect(struct usb_interface *intf) ...@@ -1914,7 +1912,7 @@ static void usb_pwc_disconnect(struct usb_interface *intf)
device_hint[hint].pdev = NULL; device_hint[hint].pdev = NULL;
} }
unlock_kernel(); mutex_unlock(&pdev->modlock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment