diff options
author | Lukas Wunner <lukas@wunner.de> | 2016-10-20 12:26:16 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-11-18 10:51:52 +0100 |
commit | 2140d4fd92772a4623514a18a7dd790fc57dc004 (patch) | |
tree | 0787ce3598ebd9cdc1f55c3fb47db9fbc7d33f55 | |
parent | 5037fdbc62c27422a319e90be18a534d2cc17ef9 (diff) |
ASoC: Intel: Skylake: Always acquire runtime pm ref on unload
commit 6d13f62d931ba638e54ba56f3a7dd3080ffb485a upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | sound/soc/intel/skylake/skl.c | 3 |
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) release_firmware(skl->tplg); - if (pci_dev_run_wake(pci)) - pm_runtime_get_noresume(&pci->dev); + pm_runtime_get_noresume(&pci->dev); /* codec removal, invoke bus_device_remove */ snd_hdac_ext_bus_device_remove(ebus); |