diff options
Diffstat (limited to 'drivers/media/video/usbvision/usbvision-video.c')
-rw-r--r-- | drivers/media/video/usbvision/usbvision-video.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/video/usbvision/usbvision-video.c b/drivers/media/video/usbvision/usbvision-video.c index 8d53c8a2bb2b..868b6886fe7f 100644 --- a/drivers/media/video/usbvision/usbvision-video.c +++ b/drivers/media/video/usbvision/usbvision-video.c | |||
@@ -637,10 +637,9 @@ static int vidioc_s_input (struct file *file, void *priv, unsigned int input) | |||
637 | 637 | ||
638 | if ((input >= usbvision->video_inputs) || (input < 0) ) | 638 | if ((input >= usbvision->video_inputs) || (input < 0) ) |
639 | return -EINVAL; | 639 | return -EINVAL; |
640 | usbvision->ctl_input = input; | ||
641 | 640 | ||
642 | down(&usbvision->lock); | 641 | down(&usbvision->lock); |
643 | usbvision_muxsel(usbvision, usbvision->ctl_input); | 642 | usbvision_muxsel(usbvision, input); |
644 | usbvision_set_input(usbvision); | 643 | usbvision_set_input(usbvision); |
645 | usbvision_set_output(usbvision, | 644 | usbvision_set_output(usbvision, |
646 | usbvision->curwidth, | 645 | usbvision->curwidth, |
@@ -660,6 +659,8 @@ static int vidioc_s_std (struct file *file, void *priv, v4l2_std_id *id) | |||
660 | call_i2c_clients(usbvision, VIDIOC_S_STD, | 659 | call_i2c_clients(usbvision, VIDIOC_S_STD, |
661 | &usbvision->tvnormId); | 660 | &usbvision->tvnormId); |
662 | up(&usbvision->lock); | 661 | up(&usbvision->lock); |
662 | /* propagate the change to the decoder */ | ||
663 | usbvision_muxsel(usbvision, usbvision->ctl_input); | ||
663 | 664 | ||
664 | return 0; | 665 | return 0; |
665 | } | 666 | } |