diff options
Diffstat (limited to 'sound/pci/hda')
-rw-r--r-- | sound/pci/hda/hda_codec.c | 4 | ||||
-rw-r--r-- | sound/pci/hda/hda_intel.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index fc1ddf408b9b..0e923f3f0a80 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -2771,6 +2771,10 @@ int snd_hda_suspend(struct hda_bus *bus, pm_message_t state) | |||
2771 | struct hda_codec *codec; | 2771 | struct hda_codec *codec; |
2772 | 2772 | ||
2773 | list_for_each_entry(codec, &bus->codec_list, list) { | 2773 | list_for_each_entry(codec, &bus->codec_list, list) { |
2774 | #ifdef CONFIG_SND_HDA_POWER_SAVE | ||
2775 | if (!codec->power_on) | ||
2776 | continue; | ||
2777 | #endif | ||
2774 | hda_call_codec_suspend(codec); | 2778 | hda_call_codec_suspend(codec); |
2775 | } | 2779 | } |
2776 | return 0; | 2780 | return 0; |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index e20629a2d7d1..ab698336563c 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -1550,7 +1550,8 @@ static int azx_suspend(struct pci_dev *pci, pm_message_t state) | |||
1550 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); | 1550 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
1551 | for (i = 0; i < chip->pcm_devs; i++) | 1551 | for (i = 0; i < chip->pcm_devs; i++) |
1552 | snd_pcm_suspend_all(chip->pcm[i]); | 1552 | snd_pcm_suspend_all(chip->pcm[i]); |
1553 | snd_hda_suspend(chip->bus, state); | 1553 | if (chip->initialized) |
1554 | snd_hda_suspend(chip->bus, state); | ||
1554 | azx_stop_chip(chip); | 1555 | azx_stop_chip(chip); |
1555 | if (chip->irq >= 0) { | 1556 | if (chip->irq >= 0) { |
1556 | synchronize_irq(chip->irq); | 1557 | synchronize_irq(chip->irq); |