aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Wunner <lukas@wunner.de>2016-10-20 06:26:16 -0400
committerMark Brown <broonie@kernel.org>2016-10-24 12:50:53 -0400
commit6d13f62d931ba638e54ba56f3a7dd3080ffb485a (patch)
tree74a3733042ed5fc08f2147e0bef0fa758592cd7a
parent4690481060f3c6b557b01f18319c6382f0fd63ab (diff)
ASoC: Intel: Skylake: Always acquire runtime pm ref on unload
skl_probe() releases a runtime pm ref unconditionally wheras skl_remove() acquires one only if the device is wakeup capable. Thus if the device is not wakeup capable, unloading and reloading the module will result in the refcount being decreased below 0. Fix it. Fixes: d8c2dab8381d ("ASoC: Intel: Add Skylake HDA audio driver") Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/intel/skylake/skl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index e3e764167765..7b7a380b1245 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -785,8 +785,7 @@ static void skl_remove(struct pci_dev *pci)
785 785
786 release_firmware(skl->tplg); 786 release_firmware(skl->tplg);
787 787
788 if (pci_dev_run_wake(pci)) 788 pm_runtime_get_noresume(&pci->dev);
789 pm_runtime_get_noresume(&pci->dev);
790 789
791 /* codec removal, invoke bus_device_remove */ 790 /* codec removal, invoke bus_device_remove */
792 snd_hdac_ext_bus_device_remove(ebus); 791 snd_hdac_ext_bus_device_remove(ebus);