ALSA: hda - Fix the connection selection of ADCs on Cirrus codecs
authorTakashi Iwai <tiwai@suse.de>
Wed, 16 Nov 2011 17:05:11 +0000 (18:05 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 16 Nov 2011 17:05:11 +0000 (18:05 +0100)
commit05ee7964a470d29889ac48cc8274c1b5a1904a11
tree3d07f56df01f5766ddda417e752647eb74e7bcb6
parent25d7d59d1f7321be85bda175c9a1bb85ca1b5881
ALSA: hda - Fix the connection selection of ADCs on Cirrus codecs

spec->cur_adc isn't set until cs_capture_pcm_prepare() is called although
the driver tries to select the connection at init time and at auto-mic
switch.  This results in the access to the widget NID 0, which is
obviously invalid, also a wrong capture source.

This patch fixes the issue by issuing the connect-select verb conditionally
at appropriate places.

Reported-and-tested-by: Dylan Reid <dgreid@chromium.org>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c