summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv/ivtv-fileops.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-15 16:39:21 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-15 16:39:21 -0200
commit8771039169bb3c0c6fc69cbbba8c20a3ab01fad9 (patch)
treef67d517bfe547e0ee4a4410b244ebb88aea0ab42 /linux/drivers/media/video/ivtv/ivtv-fileops.c
parent2bd35cda866389fda170f211d63bfd4893a7b464 (diff)
parentdb8644ddeb12f8c9a0ce76b809db98511301ed6e (diff)
downloadmediapointer-dvb-s2-8771039169bb3c0c6fc69cbbba8c20a3ab01fad9.tar.gz
mediapointer-dvb-s2-8771039169bb3c0c6fc69cbbba8c20a3ab01fad9.tar.bz2
merge: http://www.linuxtv.org/hg/~hverkuil/ivtv
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/ivtv/ivtv-fileops.c')
-rw-r--r--linux/drivers/media/video/ivtv/ivtv-fileops.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/linux/drivers/media/video/ivtv/ivtv-fileops.c b/linux/drivers/media/video/ivtv/ivtv-fileops.c
index 0e0605cc0..a200a8a95 100644
--- a/linux/drivers/media/video/ivtv/ivtv-fileops.c
+++ b/linux/drivers/media/video/ivtv/ivtv-fileops.c
@@ -822,6 +822,11 @@ int ivtv_v4l2_close(struct inode *inode, struct file *filp)
crystal_freq.flags = 0;
ivtv_saa7115(itv, VIDIOC_INT_S_CRYSTAL_FREQ, &crystal_freq);
}
+ if (atomic_read(&itv->capturing) > 0) {
+ /* Undo video mute */
+ ivtv_vapi(itv, CX2341X_ENC_MUTE_VIDEO, 1,
+ itv->params.video_mute | (itv->params.video_mute_yuv << 8));
+ }
/* Done! Unmute and continue. */
ivtv_unmute(itv);
ivtv_release_stream(s);
@@ -892,6 +897,7 @@ static int ivtv_serialized_open(struct ivtv_stream *s, struct file *filp)
if (atomic_read(&itv->capturing) > 0) {
/* switching to radio while capture is
in progress is not polite */
+ ivtv_release_stream(s);
kfree(item);
return -EBUSY;
}