[ALSA] hda-intel - Don't do suspend if already powered down
In the power-saving mode, the suspend is done dynamically at power-down. So we don't have to call suspend stuff explicitly if it's already powered down. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
Родитель
9d99f31262
Коммит
0b7a2e9cef
|
@ -2771,6 +2771,10 @@ int snd_hda_suspend(struct hda_bus *bus, pm_message_t state)
|
||||||
struct hda_codec *codec;
|
struct hda_codec *codec;
|
||||||
|
|
||||||
list_for_each_entry(codec, &bus->codec_list, list) {
|
list_for_each_entry(codec, &bus->codec_list, list) {
|
||||||
|
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
||||||
|
if (!codec->power_on)
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
hda_call_codec_suspend(codec);
|
hda_call_codec_suspend(codec);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1550,7 +1550,8 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state)
|
||||||
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
||||||
for (i = 0; i < chip->pcm_devs; i++)
|
for (i = 0; i < chip->pcm_devs; i++)
|
||||||
snd_pcm_suspend_all(chip->pcm[i]);
|
snd_pcm_suspend_all(chip->pcm[i]);
|
||||||
snd_hda_suspend(chip->bus, state);
|
if (chip->initialized)
|
||||||
|
snd_hda_suspend(chip->bus, state);
|
||||||
azx_stop_chip(chip);
|
azx_stop_chip(chip);
|
||||||
if (chip->irq >= 0) {
|
if (chip->irq >= 0) {
|
||||||
synchronize_irq(chip->irq);
|
synchronize_irq(chip->irq);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче