ALSA: hda: cs35l56: Call pm_runtime_dont_use_autosuspend()
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Fri, 8 Sep 2023 10:12:23 +0000 (11:12 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 12 Sep 2023 08:00:19 +0000 (10:00 +0200)
Driver remove() must call pm_runtime_dont_use_autosuspend().

Drivers that call pm_runtime_use_autosuspend() must disable
it in driver remove(). Unfortunately until recently this was
only mentioned in 1 line in a 900+ line document so most
people hadn't noticed this. It has only recently been added
to the kerneldoc of pm_runtime_use_autosuspend().

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: 73cfbfa9caea ("ALSA: hda/cs35l56: Add driver for Cirrus Logic CS35L56 amplifier")
Link: https://lore.kernel.org/r/20230908101223.2656901-1-rf@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l56_hda.c

index 76b9c685560bf078ec856843f0db1f42969c7508..9e4976bdb5e0e32a3cdbff92730799ca3c11e262 100644 (file)
@@ -1003,6 +1003,7 @@ void cs35l56_hda_remove(struct device *dev)
 {
        struct cs35l56_hda *cs35l56 = dev_get_drvdata(dev);
 
+       pm_runtime_dont_use_autosuspend(cs35l56->base.dev);
        pm_runtime_get_sync(cs35l56->base.dev);
        pm_runtime_disable(cs35l56->base.dev);