aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Francois Moine <moinejf@free.fr>2008-10-05 04:22:10 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 09:37:15 -0200
commit3145b8c1bfb96b02abf63dcd83ec7517c22cb574 (patch)
tree27f218da8816b5ee6fff7c8a4ec8614d948450a0
parent79a9098ae47119fad54a3443e358f08e30b7d3a5 (diff)
V4L/DVB (9119): gspca: Don't destroy the URBs on disconnect.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/gspca/gspca.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index 9db3d899aa6..c21af312ee7 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -1903,17 +1903,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");