ALSA: hda - Restore cleared pin controls on resume
commitc6351bcaa687686e784b85d92e544e4c0176ef09
authorTakashi Iwai <tiwai@suse.de>
Mon, 5 Jul 2010 14:50:13 +0000 (5 16:50 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:29:26 +0000 (2 10:29 -0700)
treeefb5a026131979809a5391d88f3fa2394e1e6c5f
parent665f533f1927ee6582b1c896d0c1c98132853980
ALSA: hda - Restore cleared pin controls on resume

commit ac0547dc62e67a3e0b0c1628b6e49efba8f517db upstream.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h