summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/gspca
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/gspca')
-rw-r--r--linux/drivers/media/video/gspca/gspca.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/linux/drivers/media/video/gspca/gspca.c b/linux/drivers/media/video/gspca/gspca.c
index 404461b8a..d725663fc 100644
--- a/linux/drivers/media/video/gspca/gspca.c
+++ b/linux/drivers/media/video/gspca/gspca.c
@@ -1916,14 +1916,15 @@ void gspca_disconnect(struct usb_interface *intf)
{
struct gspca_dev *gspca_dev = usb_get_intfdata(intf);
+ gspca_dev->present = 0;
+ gspca_dev->streaming = 0;
+
usb_set_intfdata(intf, NULL);
-/* We don't want people trying to open up the device */
+ /* release the device */
+ /* (this will call gspca_release() immediatly or on last close) */
video_unregister_device(&gspca_dev->vdev);
- gspca_dev->present = 0;
- gspca_dev->streaming = 0;
-
PDEBUG(D_PROBE, "disconnect complete");
}
EXPORT_SYMBOL(gspca_disconnect);