| From | Greg Kroah-Hartman <> | Subject | [PATCH 5.4 097/309] ASoC: SOF: core: free trace on errors | Date | Mon, 10 Feb 2020 04:30:53 -0800 |
| |
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
commit 37e97e6faeabda405d0c4319f8419dcc3da14b2b upstream.
free_trace() is not called on probe errors, fix
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20200124213625.30186-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- sound/soc/sof/core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
--- a/sound/soc/sof/core.c +++ b/sound/soc/sof/core.c @@ -368,7 +368,7 @@ static int sof_probe_continue(struct snd if (ret < 0) { dev_err(sdev->dev, "error: failed to register DSP DAI driver %d\n", ret); - goto fw_run_err; + goto fw_trace_err; } drv_name = plat_data->machine->drv_name; @@ -382,7 +382,7 @@ static int sof_probe_continue(struct snd if (IS_ERR(plat_data->pdev_mach)) { ret = PTR_ERR(plat_data->pdev_mach); - goto fw_run_err; + goto fw_trace_err; } dev_dbg(sdev->dev, "created machine %s\n", @@ -394,6 +394,8 @@ static int sof_probe_continue(struct snd return 0; #if !IS_ENABLED(CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE) +fw_trace_err: + snd_sof_free_trace(sdev); fw_run_err: snd_sof_fw_unload(sdev); fw_load_err: @@ -411,6 +413,7 @@ dbg_err: * snd_sof_device_remove() when the PCI/ACPI device is removed */ +fw_trace_err: fw_run_err: fw_load_err: ipc_err:
|