Browse Source

ALSA: hda/generic - Check power state cap at updating the widget power

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>
Takashi Iwai 10 năm trước cách đây
mục cha
commit
2206dc9492
1 tập tin đã thay đổi với 2 bổ sung0 xóa
  1. 2 0
      sound/pci/hda/hda_generic.c

+ 2 - 0
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))