From: Takashi Iwai Date: Thu, 9 Apr 2015 08:18:31 +0000 (+0200) Subject: ALSA: hda/generic - Check power state cap at updating the widget power X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2206dc949286fe0010c69213d3d8b4c53e6a2295;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 --- 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))