diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-04-09 04:18:31 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-04-09 04:33:16 -0400 |
commit | 2206dc949286fe0010c69213d3d8b4c53e6a2295 (patch) | |
tree | 7a92980d8a53c8b6e942b8080674a42bd391555c /sound/pci | |
parent | 9efe2731db3a8944d26233bb47532011411810fb (diff) |
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')
-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, | |||
832 | 832 | ||
833 | for (i = 0; i < path->depth; i++) { | 833 | for (i = 0; i < path->depth; i++) { |
834 | nid = path->path[i]; | 834 | nid = path->path[i]; |
835 | if (!(get_wcaps(codec, nid) & AC_WCAP_POWER)) | ||
836 | continue; | ||
835 | if (nid == codec->core.afg) | 837 | if (nid == codec->core.afg) |
836 | continue; | 838 | continue; |
837 | if (!allow_powerdown || is_active_nid_for_any(codec, nid)) | 839 | if (!allow_powerdown || is_active_nid_for_any(codec, nid)) |