summaryrefslogtreecommitdiff
path: root/libre/linux-libre/alsa-powersave-3.5.x.patch
blob: 189fd1cebed014959ab5bd8f010e10631f9b2887 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;
 	}