38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
|
--- a/drivers/media/pci/saa7134/saa7134-video.c
|
||
|
+++ a/drivers/media/pci/saa7134/saa7134-video.c
|
||
|
@@ -1243,6 +1243,7 @@ static int video_release(struct file *file)
|
||
|
videobuf_streamoff(&dev->cap);
|
||
|
res_free(dev, fh, RESOURCE_VIDEO);
|
||
|
videobuf_mmap_free(&dev->cap);
|
||
|
+ INIT_LIST_HEAD(&dev->cap.stream);
|
||
|
}
|
||
|
if (dev->cap.read_buf) {
|
||
|
buffer_release(&dev->cap, dev->cap.read_buf);
|
||
|
@@ -1254,6 +1255,7 @@ static int video_release(struct file *file)
|
||
|
videobuf_stop(&dev->vbi);
|
||
|
res_free(dev, fh, RESOURCE_VBI);
|
||
|
videobuf_mmap_free(&dev->vbi);
|
||
|
+ INIT_LIST_HEAD(&dev->vbi.stream);
|
||
|
}
|
||
|
|
||
|
/* ts-capture will not work in planar mode, so turn it off Hac: 04.05*/
|
||
|
@@ -1987,17 +1989,12 @@ int saa7134_streamoff(struct file *file, void *priv,
|
||
|
enum v4l2_buf_type type)
|
||
|
{
|
||
|
struct saa7134_dev *dev = video_drvdata(file);
|
||
|
- int err;
|
||
|
int res = saa7134_resource(file);
|
||
|
|
||
|
if (res != RESOURCE_EMPRESS)
|
||
|
pm_qos_remove_request(&dev->qos_request);
|
||
|
|
||
|
- err = videobuf_streamoff(saa7134_queue(file));
|
||
|
- if (err < 0)
|
||
|
- return err;
|
||
|
- res_free(dev, priv, res);
|
||
|
- return 0;
|
||
|
+ return videobuf_streamoff(saa7134_queue(file));
|
||
|
}
|
||
|
EXPORT_SYMBOL_GPL(saa7134_streamoff);
|
||
|
|