diff options
author | Hsin-Yu Chao <hychao@chromium.org> | 2014-02-19 01:30:35 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2014-02-19 01:50:34 -0500 |
commit | 13c12dbe3a2ce17227f7ddef652b6a53c78fa51f (patch) | |
tree | f4688e90a2faeb169410d24094340d946c7623d7 /sound/pci/hda/patch_ca0132.c | |
parent | 28fba95087a7f3d107a3a6728aef7dbfaf3fd782 (diff) |
ALSA: hda/ca0132 - Fix recording from mode id 0x8
Incorrect ADC is picked in ca0132_capture_pcm_prepare(),
where it assumes multiple streams while there is one stream
per ADC. Note that ca0132_capture_pcm_cleanup() already does
the right thing.
The Chromebook Pixel has a microphone under the keyboard that
is attached to node id 0x8. Before this fix, recording would
always go to the main internal mic (node id 0x7).
Signed-off-by: Hsin-Yu Chao <hychao@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_ca0132.c')
-rw-r--r-- | sound/pci/hda/patch_ca0132.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index 0aa72ee38d03..46ecdbb9053f 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c | |||
@@ -2768,9 +2768,7 @@ static int ca0132_capture_pcm_prepare(struct hda_pcm_stream *hinfo, | |||
2768 | unsigned int format, | 2768 | unsigned int format, |
2769 | struct snd_pcm_substream *substream) | 2769 | struct snd_pcm_substream *substream) |
2770 | { | 2770 | { |
2771 | struct ca0132_spec *spec = codec->spec; | 2771 | snd_hda_codec_setup_stream(codec, hinfo->nid, |
2772 | |||
2773 | snd_hda_codec_setup_stream(codec, spec->adcs[substream->number], | ||
2774 | stream_tag, 0, format); | 2772 | stream_tag, 0, format); |
2775 | 2773 | ||
2776 | return 0; | 2774 | return 0; |