diff mbox

[1/5] ALSA: hda/generic - Check power state cap at updating the widget power

Message ID 1428568838-21550-2-git-send-email-tiwai@suse.de (mailing list archive)
State Accepted
Commit 2206dc949286fe0010c69213d3d8b4c53e6a2295
Headers show

Commit Message

Takashi Iwai April 9, 2015, 8:40 a.m. UTC
The new widget power-saving tries to apply the power change no matter
whether the node has a power cap or not.  It's bad (although most of
codecs chip just ignore it).  Check the capability properly
beforehand.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/pci/hda/hda_generic.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 1f2ca7be1468..afc6b1b0898c 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -832,6 +832,8 @@  static hda_nid_t path_power_update(struct hda_codec *codec,
 
 	for (i = 0; i < path->depth; i++) {
 		nid = path->path[i];
+		if (!(get_wcaps(codec, nid) & AC_WCAP_POWER))
+			continue;
 		if (nid == codec->core.afg)
 			continue;
 		if (!allow_powerdown || is_active_nid_for_any(codec, nid))