diff options
-rw-r--r-- | drivers/media/video/gspca/gspca.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c index fe096e76e5c3..42b0b83d0953 100644 --- a/drivers/media/video/gspca/gspca.c +++ b/drivers/media/video/gspca/gspca.c | |||
@@ -806,6 +806,11 @@ static int dev_close(struct inode *inode, struct file *file) | |||
806 | 806 | ||
807 | /* if the file did the capture, free the streaming resources */ | 807 | /* if the file did the capture, free the streaming resources */ |
808 | if (gspca_dev->capt_file == file) { | 808 | if (gspca_dev->capt_file == file) { |
809 | if (gspca_dev->streaming) { | ||
810 | mutex_lock(&gspca_dev->usb_lock); | ||
811 | gspca_stream_off(gspca_dev); | ||
812 | mutex_unlock(&gspca_dev->usb_lock); | ||
813 | } | ||
809 | frame_free(gspca_dev); | 814 | frame_free(gspca_dev); |
810 | gspca_dev->capt_file = NULL; | 815 | gspca_dev->capt_file = NULL; |
811 | gspca_dev->memory = GSPCA_MEMORY_NO; | 816 | gspca_dev->memory = GSPCA_MEMORY_NO; |