diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-04-09 10:18:31 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-04-09 10:33:16 +0200 |
commit | 2206dc949286fe0010c69213d3d8b4c53e6a2295 (patch) | |
tree | 7a92980d8a53c8b6e942b8080674a42bd391555c /sound/pci/hda | |
parent | ALSA: hda - Always allow access for POWER_STATE verbs via regmap (diff) | |
download | linux-2206dc949286fe0010c69213d3d8b4c53e6a2295.tar.xz linux-2206dc949286fe0010c69213d3d8b4c53e6a2295.zip |
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>
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/hda_generic.c | 2 |
1 files changed, 2 insertions, 0 deletions
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)) |