diff options
author | Simon Trimmer <simont@opensource.cirrus.com> | 2024-06-13 14:37:12 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-06-14 14:48:43 +0200 |
commit | 6f9a40d61cad0f5560e8530b4dd4a05fc4d15987 (patch) | |
tree | 5b241c5cada834644b0ddbeea5f695fdb3ddb0fd /sound | |
parent | 721f2e6653f5ab0cc52b3a459c4a2158b92fcf80 (diff) |
ALSA: hda: cs35l41: Component should be unbound before deconstruction
The interface associated with the hda_component should be deactivated
before the driver is deconstructed during removal.
Fixes: 7b2f3eb492da ("ALSA: hda: cs35l41: Add support for CS35L41 in HDA systems")
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20240613133713.75550-3-simont@opensource.cirrus.com
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/cs35l41_hda.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c index d54d4d60b03e..031703f010be 100644 --- a/sound/pci/hda/cs35l41_hda.c +++ b/sound/pci/hda/cs35l41_hda.c @@ -2019,6 +2019,8 @@ void cs35l41_hda_remove(struct device *dev) { struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); + component_del(cs35l41->dev, &cs35l41_hda_comp_ops); + pm_runtime_get_sync(cs35l41->dev); pm_runtime_dont_use_autosuspend(cs35l41->dev); pm_runtime_disable(cs35l41->dev); @@ -2026,8 +2028,6 @@ void cs35l41_hda_remove(struct device *dev) if (cs35l41->halo_initialized) cs35l41_remove_dsp(cs35l41); - component_del(cs35l41->dev, &cs35l41_hda_comp_ops); - acpi_dev_put(cs35l41->dacpi); pm_runtime_put_noidle(cs35l41->dev); |