From b3695963b44851ccb50ee0dcd1e4e9ad19795784 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 18 Aug 2006 07:31:10 -0300 Subject: TVP5150 routing logic were broken. From: Mauro Carvalho Chehab As pointed by The Coverity checker, commit c7c0b34c27bbf0671807e902fbfea6270c8f138d broked input selection. Thanks-to: Adrian Bunk for pointing this CC: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab --- linux/drivers/media/video/tvp5150.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'linux') diff --git a/linux/drivers/media/video/tvp5150.c b/linux/drivers/media/video/tvp5150.c index 7cafcd52b..c611ffc4d 100644 --- a/linux/drivers/media/video/tvp5150.c +++ b/linux/drivers/media/video/tvp5150.c @@ -325,7 +325,7 @@ static inline void tvp5150_selmux(struct i2c_client *c) if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable) input = 8; - switch (input) { + switch (decoder->route.input) { case TVP5150_COMPOSITE1: input |= 2; /* fall through */ @@ -339,6 +339,11 @@ static inline void tvp5150_selmux(struct i2c_client *c) break; } + tvp5150_dbg( 1, "Selecting video route: route input=%i, output=%i " + "=> tvp5150 input=%i, opmode=%i\n", + decoder->route.input,decoder->route.output, + input, opmode ); + tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode); tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input); }; -- cgit v1.2.3