ASoC: Intel: Skylake: Always acquire runtime pm ref on unload
authorLukas Wunner <lukas@wunner.de>
Thu, 20 Oct 2016 10:26:16 +0000 (12:26 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 24 Oct 2016 16:50:53 +0000 (17:50 +0100)
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>
sound/soc/intel/skylake/skl.c

index e3e7641677657ecffb828ec94c865d0e80201dbf..7b7a380b124523809c4af90286dbc7a4c539421c 100644 (file)
@@ -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);