Unverified Commit 37e97e6f authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Mark Brown
Browse files

ASoC: SOF: core: free trace on errors

parent 4f7f9564
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -224,12 +224,12 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
	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;
	}

	ret = snd_sof_machine_register(sdev, plat_data);
	if (ret < 0)
		goto fw_run_err;
		goto fw_trace_err;

	/*
	 * Some platforms in SOF, ex: BYT, may not have their platform PM
@@ -245,6 +245,8 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
	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:
@@ -262,6 +264,7 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
	 * snd_sof_device_remove() when the PCI/ACPI device is removed
	 */

fw_trace_err:
fw_run_err:
fw_load_err:
ipc_err: