aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2010-05-01 07:23:07 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:58:54 -0400
commitcf19cd3d8a043b1c5784218709a85e358e0d78fb (patch)
tree41f417e27660c29cd823e5bc3c0cd39753985f82 /drivers/media
parentffb4877ba013f94322083f77cbb05b35c2a218aa (diff)
V4L/DVB: tvp7002: fix query_dv_preset
If no signal or valid format is detected, then VIDIOC_QUERY_DV_PRESET must return 0 and set the preset to V4L2_DV_INVALID. This driver returned an error instead. Also simplified the kernel messages a bit: change v4l2_err to v4l2_dbg (not detecting a signal/valid format is not an error, so only print this info when debug == 1) and do not call v4l_fill_dv_preset_info: it's overkill to do this just for a debug message. Thanks to Mats Randgaard for bringing this to my attention. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tvp7002.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/media/video/tvp7002.c b/drivers/media/video/tvp7002.c
index 4a69bcc738f3..f650f0d125eb 100644
--- a/drivers/media/video/tvp7002.c
+++ b/drivers/media/video/tvp7002.c
@@ -785,7 +785,6 @@ static int tvp7002_query_dv_preset(struct v4l2_subdev *sd,
785 struct v4l2_dv_preset *qpreset) 785 struct v4l2_dv_preset *qpreset)
786{ 786{
787 const struct tvp7002_preset_definition *presets = tvp7002_presets; 787 const struct tvp7002_preset_definition *presets = tvp7002_presets;
788 struct v4l2_dv_enum_preset e_preset;
789 struct tvp7002 *device; 788 struct tvp7002 *device;
790 u8 progressive; 789 u8 progressive;
791 u32 lpfr; 790 u32 lpfr;
@@ -828,20 +827,18 @@ static int tvp7002_query_dv_preset(struct v4l2_subdev *sd,
828 } 827 }
829 828
830 if (index == NUM_PRESETS) { 829 if (index == NUM_PRESETS) {
831 v4l2_err(sd, "querystd error, lpf = %x, cpl = %x\n", 830 v4l2_dbg(1, debug, sd, "detection failed: lpf = %x, cpl = %x\n",
832 lpfr, cpln); 831 lpfr, cpln);
833 return -EINVAL; 832 /* Could not detect a signal, so return the 'invalid' preset */
833 qpreset->preset = V4L2_DV_INVALID;
834 return 0;
834 } 835 }
835 836
836 if (v4l_fill_dv_preset_info(presets->preset, &e_preset))
837 return -EINVAL;
838
839 /* Set values in found preset */ 837 /* Set values in found preset */
840 qpreset->preset = presets->preset; 838 qpreset->preset = presets->preset;
841 839
842 /* Update lines per frame and clocks per line info */ 840 /* Update lines per frame and clocks per line info */
843 v4l2_dbg(1, debug, sd, "Current preset: %d %d", 841 v4l2_dbg(1, debug, sd, "detected preset: %d\n", presets->preset);
844 e_preset.width, e_preset.height);
845 return 0; 842 return 0;
846} 843}
847 844