diff options
authorHsin-Yu Chao <hychao@chromium.org>2014-02-19 14:30:35 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-03-06 21:30:06 -0800
commit3d92e99d70e16c6a2eb7b4fad1543cda12c4bdd9 (patch)
parent6e52b4fd38c7ed25200638628921806310f4a657 (diff)
ALSA: hda/ca0132 - Fix recording from mode id 0x8
commit 13c12dbe3a2ce17227f7ddef652b6a53c78fa51f upstream. 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> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 files changed, 1 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 76f076dc1fd0..01fefbe29e4a 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,
unsigned int format,
struct snd_pcm_substream *substream)
- struct ca0132_spec *spec = codec->spec;
- snd_hda_codec_setup_stream(codec, spec->adcs[substream->number],
+ snd_hda_codec_setup_stream(codec, hinfo->nid,
stream_tag, 0, format);
return 0;