ASoC: SOF: fix debugfs initialisation error handling
If debugfs initialisation fails partially in sof_probe_continue() some debugfs files and the root directory might have been created successfully. They have to be cleaned up if some of them failed too. Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Xiuli Pan <xiulipan@outlook.com> Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210315163932.18663-2-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
54d796b86e
commit
11fd6d8e09
|
@ -154,7 +154,7 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(sdev->dev, "error: failed to get machine info %d\n",
|
dev_err(sdev->dev, "error: failed to get machine info %d\n",
|
||||||
ret);
|
ret);
|
||||||
goto dbg_err;
|
goto dsp_err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set up platform component driver */
|
/* set up platform component driver */
|
||||||
|
@ -257,8 +257,9 @@ fw_run_err:
|
||||||
fw_load_err:
|
fw_load_err:
|
||||||
snd_sof_ipc_free(sdev);
|
snd_sof_ipc_free(sdev);
|
||||||
ipc_err:
|
ipc_err:
|
||||||
snd_sof_free_debug(sdev);
|
|
||||||
dbg_err:
|
dbg_err:
|
||||||
|
snd_sof_free_debug(sdev);
|
||||||
|
dsp_err:
|
||||||
snd_sof_remove(sdev);
|
snd_sof_remove(sdev);
|
||||||
|
|
||||||
/* all resources freed, update state to match */
|
/* all resources freed, update state to match */
|
||||||
|
|
Loading…
Reference in New Issue