diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2006-12-18 11:18:28 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-27 11:19:32 -0500 |
commit | b331def2d382d7a51c379f336fe80ef87d6674e3 (patch) | |
tree | 5d0a5755688cdb1d73a1ce8fc657b9761303dd68 /drivers/media/video/msp3400-driver.c | |
parent | 315eb962d2e9438bc10da2488b604f04a1c0006f (diff) |
V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.
The wrong matrix was used when an external input was selected instead of
the tuner input. The rxsubchans field was also not initialized to STEREO
for an external input. And finally the msp34xxg_detect_stereo() should
not try to detect stereo for an external input, that code is for the
tuner input only.
Together these bugs made it hit 'n miss whether you ever got stereo out
of the msp3400 for an external input.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/msp3400-driver.c')
-rw-r--r-- | drivers/media/video/msp3400-driver.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c index e1b56dc13c3f..295cb994beb0 100644 --- a/drivers/media/video/msp3400-driver.c +++ b/drivers/media/video/msp3400-driver.c | |||
@@ -633,10 +633,8 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) | |||
633 | if (((rt->input >> (4 + i * 4)) & 0xf) == 0) | 633 | if (((rt->input >> (4 + i * 4)) & 0xf) == 0) |
634 | extern_input = 0; | 634 | extern_input = 0; |
635 | } | 635 | } |
636 | if (extern_input) | 636 | state->mode = extern_input ? MSP_MODE_EXTERN : MSP_MODE_AM_DETECT; |
637 | state->mode = MSP_MODE_EXTERN; | 637 | state->rxsubchans = V4L2_TUNER_SUB_STEREO; |
638 | else | ||
639 | state->mode = MSP_MODE_AM_DETECT; | ||
640 | msp_set_scart(client, sc_in, 0); | 638 | msp_set_scart(client, sc_in, 0); |
641 | msp_set_scart(client, sc1_out, 1); | 639 | msp_set_scart(client, sc1_out, 1); |
642 | msp_set_scart(client, sc2_out, 2); | 640 | msp_set_scart(client, sc2_out, 2); |