ALSA: hda - Restore cleared pin controls on resume
authorTakashi Iwai <tiwai@suse.de>
Mon, 5 Jul 2010 14:50:13 +0000 (16:50 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 9 Jul 2010 06:42:29 +0000 (08:42 +0200)
commitac0547dc62e67a3e0b0c1628b6e49efba8f517db
treedafd1c8283cc09c3eda5d8fc2a1d06ffeb0141c8
parentf189efcd1cc06b75fe18642c9751d26aa5ed2b54
ALSA: hda - Restore cleared pin controls on resume

Many codecs now clear the pin controls at suspend via snd_hda_shutup_pins()
for reducing the click noise at power-off.  But this leaves some pins
uninitialized, and they'll be never recovered after resume.

This patch adds the proper recovery of cleared pin controls on resume.
Also it adds a check of bus->shutdown so that pins won't be cleared at
module unloading.

Reference: Kernel bug 16339
http://bugzilla.kernel.org/show_bug.cgi?id=16339

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h