diff options
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-fileops.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-fileops.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/media/video/ivtv/ivtv-fileops.c b/drivers/media/video/ivtv/ivtv-fileops.c index da50fa4a72a5..a200a8a95a2d 100644 --- a/drivers/media/video/ivtv/ivtv-fileops.c +++ b/drivers/media/video/ivtv/ivtv-fileops.c | |||
@@ -822,6 +822,11 @@ int ivtv_v4l2_close(struct inode *inode, struct file *filp) | |||
822 | crystal_freq.flags = 0; | 822 | crystal_freq.flags = 0; |
823 | ivtv_saa7115(itv, VIDIOC_INT_S_CRYSTAL_FREQ, &crystal_freq); | 823 | ivtv_saa7115(itv, VIDIOC_INT_S_CRYSTAL_FREQ, &crystal_freq); |
824 | } | 824 | } |
825 | if (atomic_read(&itv->capturing) > 0) { | ||
826 | /* Undo video mute */ | ||
827 | ivtv_vapi(itv, CX2341X_ENC_MUTE_VIDEO, 1, | ||
828 | itv->params.video_mute | (itv->params.video_mute_yuv << 8)); | ||
829 | } | ||
825 | /* Done! Unmute and continue. */ | 830 | /* Done! Unmute and continue. */ |
826 | ivtv_unmute(itv); | 831 | ivtv_unmute(itv); |
827 | ivtv_release_stream(s); | 832 | ivtv_release_stream(s); |
@@ -892,6 +897,7 @@ static int ivtv_serialized_open(struct ivtv_stream *s, struct file *filp) | |||
892 | if (atomic_read(&itv->capturing) > 0) { | 897 | if (atomic_read(&itv->capturing) > 0) { |
893 | /* switching to radio while capture is | 898 | /* switching to radio while capture is |
894 | in progress is not polite */ | 899 | in progress is not polite */ |
900 | ivtv_release_stream(s); | ||
895 | kfree(item); | 901 | kfree(item); |
896 | return -EBUSY; | 902 | return -EBUSY; |
897 | } | 903 | } |
@@ -947,7 +953,7 @@ int ivtv_v4l2_open(struct inode *inode, struct file *filp) | |||
947 | if (itv == NULL) { | 953 | if (itv == NULL) { |
948 | /* Couldn't find a device registered | 954 | /* Couldn't find a device registered |
949 | on that minor, shouldn't happen! */ | 955 | on that minor, shouldn't happen! */ |
950 | IVTV_WARN("No ivtv device found on minor %d\n", minor); | 956 | printk(KERN_WARNING "No ivtv device found on minor %d\n", minor); |
951 | return -ENXIO; | 957 | return -ENXIO; |
952 | } | 958 | } |
953 | 959 | ||