summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorSumit Bhattacharya <sumitb@nvidia.com>2013-06-19 13:41:05 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:27:18 -0700
commit6041b4dc00b1a8485fbb8a7161bab77d13ff35e5 (patch)
tree6db9572c6c5ce50797e6bf39fc6a64683d007a72 /sound
parentc22f670f0a496d6727e11d61821cc93fc26947e4 (diff)
ALSA: HDA: Set runtime pm active from resume
When system wakes up from sleep runtime PM status remains suspended and as a result azx_interrupt returns errors whenver any HDA register read/write is done which causes azx_resume to fail. To fix this issue set pm_runtime state to active from azx_resume before doing any register operation. Bug 1290727 Bug 1277966 Change-Id: Ie9e028c357100cd26311a09cbb1487d0d382f7f3 Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/240199 Reviewed-by: Ajay Nandakumar M <anandakumarm@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_intel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index a54fb8e69362..b1ac1922f833 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -3167,6 +3167,10 @@ static int azx_resume(struct device *dev)
if (chip->msi)
if (pci_enable_msi(chip->pci) < 0)
chip->msi = 0;
+ } else if (chip->pdev) {
+ pm_runtime_disable(chip->dev);
+ pm_runtime_set_active(chip->dev);
+ pm_runtime_enable(chip->dev);
}
if (azx_acquire_irq(chip, 1) < 0)
@@ -4431,6 +4435,7 @@ static int azx_probe_platform(struct platform_device *pdev)
static int azx_remove_platform(struct platform_device *pdev)
{
+ pm_runtime_get_noresume(&pdev->dev);
return snd_card_free(dev_get_drvdata(&pdev->dev));
}