The tuner input uses different tvnorms compared to the S-Video/Composite inputs. So update the tvnorms field in struct video_device when switching inputs. This fixes a V4L2 compliance issue. Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> --- drivers/media/pci/saa7146/mxb.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/pci/saa7146/mxb.c b/drivers/media/pci/saa7146/mxb.c index 557ba89cd12d..3b0c475c7ab4 100644 --- a/drivers/media/pci/saa7146/mxb.c +++ b/drivers/media/pci/saa7146/mxb.c @@ -512,6 +512,9 @@ static int vidioc_s_input(struct file *file, void *fh, unsigned int input) if (err) return err; + mxb->video_dev.tvnorms = mxb_inputs[input].std; + mxb->vbi_dev.tvnorms = mxb_inputs[input].std; + /* switch video in saa7111a */ if (saa7111a_call(mxb, video, s_routing, i, SAA7111_FMT_CCIR, 0)) pr_err("VIDIOC_S_INPUT: could not address saa7111a\n"); -- 2.39.2