summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Fitzgerald <rf@opensource.cirrus.com>2023-07-31 18:57:22 +0200
committerTakashi Iwai <tiwai@suse.de>2023-08-01 08:30:06 +0200
commitfb78d73dde2d4d91e2372685159d67a43cf7b8f3 (patch)
tree7df3629b363c215ebe31ef9914fab9e0db6f4063
parentALSA: hda/cs35l56: Always power-up and start cs_dsp (diff)
downloadlinux-fb78d73dde2d4d91e2372685159d67a43cf7b8f3.tar.xz
linux-fb78d73dde2d4d91e2372685159d67a43cf7b8f3.zip
ALSA: hda/cs35l56: Call cs_dsp_power_down() before calling cs_dsp_remove()
In cs35l56_hda_unbind() cs_dsp_power_down() must be called to cleanup before calling cs_dsp_remove cs_dsp_remove(). Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230731165726.7940-6-rf@opensource.cirrus.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/cs35l56_hda.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c
index 2870f82bfa45..e8c41a4a0c40 100644
--- a/sound/pci/hda/cs35l56_hda.c
+++ b/sound/pci/hda/cs35l56_hda.c
@@ -649,6 +649,9 @@ static void cs35l56_hda_unbind(struct device *dev, struct device *master, void *
debugfs_remove_recursive(cs35l56->debugfs_root);
#endif
+ if (cs35l56->base.fw_patched)
+ cs_dsp_power_down(&cs35l56->cs_dsp);
+
cs_dsp_remove(&cs35l56->cs_dsp);
if (comps[cs35l56->index].dev == dev)