summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/hda_intel.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 973e46706cdb..79af22905195 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2421,7 +2421,7 @@ static int azx_suspend(struct azx *chip, pm_message_t state)
#if defined(CONFIG_SND_HDA_PLATFORM_DRIVER) && \
defined(CONFIG_SND_HDA_POWER_SAVE)
- if (!chip->platform_clk_enable)
+ if (chip->pdev)
azx_platform_enable_clocks(chip);
#endif
@@ -2447,8 +2447,11 @@ static int azx_suspend(struct azx *chip, pm_message_t state)
}
#ifdef CONFIG_SND_HDA_PLATFORM_DRIVER
- if (chip->pdev)
- azx_platform_disable_clocks(chip);
+ if (chip->pdev) {
+ /* Disable all clk references */
+ while (chip->platform_clk_enable)
+ azx_platform_disable_clocks(chip);
+ }
#endif
return 0;