projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
25faa4b
)
ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops
author
Takashi Iwai
<tiwai@suse.de>
Mon, 13 Apr 2020 08:20:30 +0000
(10:20 +0200)
committer
Takashi Iwai
<tiwai@suse.de>
Mon, 13 Apr 2020 16:02:21 +0000
(18:02 +0200)
freeze_noirq and thaw_noirq need to check the PM availability like
other PM ops. There are cases where the device got disabled due to
the error, and the PM operation should be ignored for that.
Fixes: 3e6db33aaf1d ("ALSA: hda - Set SKL+ hda controller power at freeze() and thaw()")
BugLink:
https://bugzilla.kernel.org/show_bug.cgi?id=207043
Link:
https://lore.kernel.org/r/20200413082034.25166-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c
patch
|
blob
|
history
diff --git
a/sound/pci/hda/hda_intel.c
b/sound/pci/hda/hda_intel.c
index a2e8113757504402aef8f7549422918890322af7..f41d8b7864c1e1cbab653afe1b2ab27cbfb87a97 100644
(file)
--- a/
sound/pci/hda/hda_intel.c
+++ b/
sound/pci/hda/hda_intel.c
@@
-1071,6
+1071,8
@@
static int azx_freeze_noirq(struct device *dev)
struct azx *chip = card->private_data;
struct pci_dev *pci = to_pci_dev(dev);
+ if (!azx_is_pm_ready(card))
+ return 0;
if (chip->driver_type == AZX_DRIVER_SKL)
pci_set_power_state(pci, PCI_D3hot);
@@
-1083,6
+1085,8
@@
static int azx_thaw_noirq(struct device *dev)
struct azx *chip = card->private_data;
struct pci_dev *pci = to_pci_dev(dev);
+ if (!azx_is_pm_ready(card))
+ return 0;
if (chip->driver_type == AZX_DRIVER_SKL)
pci_set_power_state(pci, PCI_D0);