Commit c8f79808 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda: Re-add dropped snd_poewr_change_state() calls

The card power state change via snd_power_change_state() at the system
suspend/resume seems dropped mistakenly during the PM code rewrite.
The card power state doesn't play much role nowadays but it's still
referred in a few places such as the HDMI codec driver.

This patch restores them, but in a more appropriate place now in the
prepare and complete callbacks.

Fixes: f5dac54d ("ALSA: hda: Separate runtime and system suspend")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210329113059.25035-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 625bd5a6
...@@ -1025,6 +1025,7 @@ static int azx_prepare(struct device *dev) ...@@ -1025,6 +1025,7 @@ static int azx_prepare(struct device *dev)
chip = card->private_data; chip = card->private_data;
chip->pm_prepared = 1; chip->pm_prepared = 1;
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
flush_work(&azx_bus(chip)->unsol_work); flush_work(&azx_bus(chip)->unsol_work);
...@@ -1040,6 +1041,7 @@ static void azx_complete(struct device *dev) ...@@ -1040,6 +1041,7 @@ static void azx_complete(struct device *dev)
struct azx *chip; struct azx *chip;
chip = card->private_data; chip = card->private_data;
snd_power_change_state(card, SNDRV_CTL_POWER_D0);
chip->pm_prepared = 0; chip->pm_prepared = 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment