summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2008-10-05 09:22:10 +0200
committerJean-Francois Moine <moinejf@free.fr>2008-10-05 09:22:10 +0200
commit47e01ca0b2bc9e796927fe93340f11221521b4e2 (patch)
treec75bf4aa0e7f47156eb0d967b278aaacc715c602 /linux/drivers/media/video
parentcf40a792704411e384568bb705e0115a21a44f2a (diff)
downloadmediapointer-dvb-s2-47e01ca0b2bc9e796927fe93340f11221521b4e2.tar.gz
mediapointer-dvb-s2-47e01ca0b2bc9e796927fe93340f11221521b4e2.tar.bz2
gspca: Don't destroy the URBs on disconnect.
From: Jean-Francois Moine <moinejf@free.fr> Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r--linux/drivers/media/video/gspca/gspca.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/linux/drivers/media/video/gspca/gspca.c b/linux/drivers/media/video/gspca/gspca.c
index 12e3a4360..c2ad862b6 100644
--- a/linux/drivers/media/video/gspca/gspca.c
+++ b/linux/drivers/media/video/gspca/gspca.c
@@ -1913,17 +1913,12 @@ void gspca_disconnect(struct usb_interface *intf)
usb_set_intfdata(intf, NULL);
- gspca_dev->present = 0;
- mutex_lock(&gspca_dev->queue_lock);
- mutex_lock(&gspca_dev->usb_lock);
- gspca_dev->streaming = 0;
- destroy_urbs(gspca_dev);
- mutex_unlock(&gspca_dev->usb_lock);
- mutex_unlock(&gspca_dev->queue_lock);
-
/* We don't want people trying to open up the device */
video_unregister_device(&gspca_dev->vdev);
+ gspca_dev->present = 0;
+ gspca_dev->streaming = 0;
+
kref_put(&gspca_dev->kref, gspca_delete);
PDEBUG(D_PROBE, "disconnect complete");