summaryrefslogtreecommitdiff
path: root/libre/linux-libre/alsa-powersave-3.5.x.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/linux-libre/alsa-powersave-3.5.x.patch')
-rw-r--r--libre/linux-libre/alsa-powersave-3.5.x.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/libre/linux-libre/alsa-powersave-3.5.x.patch b/libre/linux-libre/alsa-powersave-3.5.x.patch
new file mode 100644
index 000000000..189fd1ceb
--- /dev/null
+++ b/libre/linux-libre/alsa-powersave-3.5.x.patch
@@ -0,0 +1,29 @@
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 20 Aug 2012 19:25:22 +0000 (+0200)
+Subject: ALSA: hda - Fix leftover codec->power_transition
+X-Git-Tag: v3.6-rc3~14^2~1
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=commitdiff_plain;h=535b6c51fe8293c88ce919cdfc4390c67a1cb6d1
+
+ALSA: hda - Fix leftover codec->power_transition
+
+When the codec turn-on operation is canceled by the immediate
+power-on, the driver left the power_transition flag as is.
+This caused the persistent avoidance of power-save behavior.
+
+Cc: <stable@vger.kernel.org> [v3.5+]
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+
+diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
+index c3077d5..f560051 100644
+--- a/sound/pci/hda/hda_codec.c
++++ b/sound/pci/hda/hda_codec.c
+@@ -4454,6 +4454,8 @@ static void __snd_hda_power_up(struct hda_codec *codec, bool wait_power_down)
+ * then there is no need to go through power up here.
+ */
+ if (codec->power_on) {
++ if (codec->power_transition < 0)
++ codec->power_transition = 0;
+ spin_unlock(&codec->power_lock);
+ return;
+ }