diff options
author | Jean-Francois Moine <moinejf@free.fr> | 2008-09-03 17:12:17 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-09-03 18:37:37 -0300 |
commit | a1e8288b1d80130119692818b46694660f28e03a (patch) | |
tree | 188130051e7c5205d45fce5c87f22f3bc9a8f913 /drivers/media | |
parent | de00448f708a2fd705f9c5ccdfa383dbf3dcef92 (diff) | |
download | op-kernel-dev-a1e8288b1d80130119692818b46694660f28e03a.zip op-kernel-dev-a1e8288b1d80130119692818b46694660f28e03a.tar.gz |
V4L/DVB (8824): gspca: Too much code removed in the suspend/resume changeset.
- 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>
Diffstat (limited to 'drivers/media')
-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 fe096e7..42b0b83 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) /* 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; |