ALSA: hda/generic - Make snd_hda_gen_path_power_filter() always applicable
authorTakashi Iwai <tiwai@suse.de>
Thu, 9 Apr 2015 08:25:03 +0000 (10:25 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 9 Apr 2015 08:33:53 +0000 (10:33 +0200)
Add the check of power_save_node flag at the beginning of the function
so that it skips the rest if the flag isn't set.  In this way, we can
call this function safely no matter whether the widget power-saving is
really used or not.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c

index 46b559832d2cb9c3774ceab0f93347fef8b00e6f..f0475a19fad747b41edcf200235b1a3e38ab779a 100644 (file)
@@ -4703,6 +4703,10 @@ unsigned int snd_hda_gen_path_power_filter(struct hda_codec *codec,
                                                  hda_nid_t nid,
                                                  unsigned int power_state)
 {
+       struct hda_gen_spec *spec = codec->spec;
+
+       if (!spec->power_down_unused && !codec->power_save_node)
+               return power_state;
        if (power_state != AC_PWRST_D0 || nid == codec->core.afg)
                return power_state;
        if (get_wcaps_type(get_wcaps(codec, nid)) >= AC_WID_POWER)