diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-26 22:17:48 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-26 22:17:48 -0300 |
commit | 09aaab39357cabdaf8446e398d8eea2aee045d11 (patch) | |
tree | adebb16a1d12259e0a335fd60443f56a4e6dda67 /linux/drivers/media/video/hdpvr/hdpvr-core.c | |
parent | 885a23d5d3b31b99d23ef1d05b212d9e3fbba93f (diff) | |
parent | 355b49a5385160b8c9a02ba6ef84f6dfaa9e74b9 (diff) | |
download | mediapointer-dvb-s2-09aaab39357cabdaf8446e398d8eea2aee045d11.tar.gz mediapointer-dvb-s2-09aaab39357cabdaf8446e398d8eea2aee045d11.tar.bz2 |
merge: http://linuxtv.org/hg/~awalls/v4l-dvb
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video/hdpvr/hdpvr-core.c')
-rw-r--r-- | linux/drivers/media/video/hdpvr/hdpvr-core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/linux/drivers/media/video/hdpvr/hdpvr-core.c b/linux/drivers/media/video/hdpvr/hdpvr-core.c index e96aed42d..547833eb6 100644 --- a/linux/drivers/media/video/hdpvr/hdpvr-core.c +++ b/linux/drivers/media/video/hdpvr/hdpvr-core.c @@ -342,7 +342,7 @@ static int hdpvr_probe(struct usb_interface *interface, } mutex_unlock(&dev->io_mutex); - if (hdpvr_register_videodev(dev, + if (hdpvr_register_videodev(dev, &interface->dev, video_nr[atomic_inc_return(&dev_nr)])) { err("registering videodev failed"); goto error; @@ -390,8 +390,10 @@ static void hdpvr_disconnect(struct usb_interface *interface) video_unregister_device(dev->video_dev); wake_up_interruptible(&dev->wait_data); wake_up_interruptible(&dev->wait_buffer); + mutex_unlock(&dev->io_mutex); msleep(100); flush_workqueue(dev->workqueue); + mutex_lock(&dev->io_mutex); hdpvr_cancel_queue(dev); destroy_workqueue(dev->workqueue); mutex_unlock(&dev->io_mutex); |