diff mbox series

[05/13] ASoC: Intel: avs: Update hda component teardown sequences

Message ID 20250109122216.3667847-6-cezary.rojewski@intel.com (mailing list archive)
State Accepted
Commit e3146775f05d18c667a2e26082da3ac105f87d9f
Headers show
Series ASoC: Intel: avs: Fixes and cleanups | expand

Commit Message

Cezary Rojewski Jan. 9, 2025, 12:22 p.m. UTC
If case of failure cleanup recently created DAI and while at it, adjust
the remove() operation to match operation order of the probe() function.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
---
 sound/soc/intel/avs/pcm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/sound/soc/intel/avs/pcm.c b/sound/soc/intel/avs/pcm.c
index 945f9c0a6a54..5878cfdbbee5 100644
--- a/sound/soc/intel/avs/pcm.c
+++ b/sound/soc/intel/avs/pcm.c
@@ -1564,6 +1564,7 @@  static int avs_component_hda_probe(struct snd_soc_component *component)
 		if (ret < 0) {
 			dev_err(component->dev, "create widgets failed: %d\n",
 				ret);
+			snd_soc_unregister_dai(dai);
 			goto exit;
 		}
 	}
@@ -1578,8 +1579,8 @@  static int avs_component_hda_probe(struct snd_soc_component *component)
 
 static void avs_component_hda_remove(struct snd_soc_component *component)
 {
-	avs_component_hda_unregister_dais(component);
 	avs_component_remove(component);
+	avs_component_hda_unregister_dais(component);
 }
 
 static int avs_component_hda_open(struct snd_soc_component *component,