diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-08-18 06:31:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 11:30:32 -0400 |
commit | 12500f07c6e179692ae3bd4d7bee9aa07ec74c25 (patch) | |
tree | 9233db90a08ad3851a872797f99cd6c3345c869c | |
parent | e738e35d1e9ae15b597c713e0b74e9a535020c0d (diff) |
V4L/DVB (4506): TVP5150 routing logic were broken.
As pointed by The Coverity checker, commit
c7c0b34c27bbf0671807e902fbfea6270c8f138d broked input selection.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/tvp5150.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/media/video/tvp5150.c b/drivers/media/video/tvp5150.c index b167ffab2520..bc0a4fc27b24 100644 --- a/drivers/media/video/tvp5150.c +++ b/drivers/media/video/tvp5150.c | |||
@@ -294,7 +294,7 @@ static inline void tvp5150_selmux(struct i2c_client *c) | |||
294 | if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable) | 294 | if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable) |
295 | input = 8; | 295 | input = 8; |
296 | 296 | ||
297 | switch (input) { | 297 | switch (decoder->route.input) { |
298 | case TVP5150_COMPOSITE1: | 298 | case TVP5150_COMPOSITE1: |
299 | input |= 2; | 299 | input |= 2; |
300 | /* fall through */ | 300 | /* fall through */ |
@@ -308,6 +308,11 @@ static inline void tvp5150_selmux(struct i2c_client *c) | |||
308 | break; | 308 | break; |
309 | } | 309 | } |
310 | 310 | ||
311 | tvp5150_dbg( 1, "Selecting video route: route input=%i, output=%i " | ||
312 | "=> tvp5150 input=%i, opmode=%i\n", | ||
313 | decoder->route.input,decoder->route.output, | ||
314 | input, opmode ); | ||
315 | |||
311 | tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode); | 316 | tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode); |
312 | tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input); | 317 | tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input); |
313 | }; | 318 | }; |