V4L/DVB (8824): gspca: Too much code removed in the suspend/resume changeset.
authorJean-Francois Moine <moinejf@free.fr>
Wed, 3 Sep 2008 20:12:17 +0000 (17:12 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 3 Sep 2008 21:37:37 +0000 (18:37 -0300)
- the stream must stop when the main application closes the device.

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/gspca/gspca.c

index fe096e76e5c34079d2bbd0ab49d12eed9fe41e6f..42b0b83d0953add389c41afd5b2428e031cdc532 100644 (file)
@@ -806,6 +806,11 @@ static int dev_close(struct inode *inode, struct file *file)
 
        /* if the file did the capture, free the streaming resources */
        if (gspca_dev->capt_file == file) {
+               if (gspca_dev->streaming) {
+                       mutex_lock(&gspca_dev->usb_lock);
+                       gspca_stream_off(gspca_dev);
+                       mutex_unlock(&gspca_dev->usb_lock);
+               }
                frame_free(gspca_dev);
                gspca_dev->capt_file = NULL;
                gspca_dev->memory = GSPCA_MEMORY_NO;