diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2013-06-19 13:41:05 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:27:18 -0700 |
commit | 6041b4dc00b1a8485fbb8a7161bab77d13ff35e5 (patch) | |
tree | 6db9572c6c5ce50797e6bf39fc6a64683d007a72 | |
parent | c22f670f0a496d6727e11d61821cc93fc26947e4 (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>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 5 |
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)); } |