--- Begin Message ---
- To: <broonie@xxxxxxxxxx>
- Subject: [PATCH 5/6] ASoC: SOF: amd: refactor error checks in probe call
- From: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx>
- Date: Mon, 3 Apr 2023 12:46:45 +0530
- Cc: alsa-devel@xxxxxxxxxxxxxxxx, Basavaraj.Hiregoudar@xxxxxxx, Sunil-kumar.Dommati@xxxxxxx, Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx>, Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>, Liam Girdwood <lgirdwood@xxxxxxxxx>, Peter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx>, Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>, Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>, Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx>, Daniel Baluta <daniel.baluta@xxxxxxx>, Takashi Iwai <tiwai@xxxxxxxx>, V sujith kumar Reddy <Vsujithkumar.Reddy@xxxxxxx>, Ajit Kumar Pandey <AjitKumar.Pandey@xxxxxxx>, Ajye Huang <ajye_huang@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>, "moderated list:SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS" <sound-open-firmware@xxxxxxxxxxxxxxxx>, open list <linux-kernel@xxxxxxxxxxxxxxx>
- In-reply-to: <20230403071651.919027-1-Vijendar.Mukunda@amd.com>
- References: <20230403071651.919027-1-Vijendar.Mukunda@amd.com>
Refactor error checks code in probe() callback.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@xxxxxxx>
---
sound/soc/sof/amd/acp.c | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/sound/soc/sof/amd/acp.c b/sound/soc/sof/amd/acp.c
index e8fe324c23d0..dbf9ee6d79ed 100644
--- a/sound/soc/sof/amd/acp.c
+++ b/sound/soc/sof/amd/acp.c
@@ -503,16 +503,12 @@ int amd_sof_acp_probe(struct snd_sof_dev *sdev)
if (ret < 0) {
dev_err(sdev->dev, "failed to register IRQ %d\n",
sdev->ipc_irq);
- pci_dev_put(adata->smn_dev);
- return ret;
+ goto free_smn_dev;
}
ret = acp_init(sdev);
- if (ret < 0) {
- free_irq(sdev->ipc_irq, sdev);
- pci_dev_put(adata->smn_dev);
- return ret;
- }
+ if (ret < 0)
+ goto free_ipc_irq;
sdev->dsp_box.offset = 0;
sdev->dsp_box.size = BOX_SIZE_512;
@@ -528,6 +524,12 @@ int amd_sof_acp_probe(struct snd_sof_dev *sdev)
acp_dsp_stream_init(sdev);
return 0;
+
+free_ipc_irq:
+ free_irq(sdev->ipc_irq, sdev);
+free_smn_dev:
+ pci_dev_put(adata->smn_dev);
+ return ret;
}
EXPORT_SYMBOL_NS(amd_sof_acp_probe, SND_SOC_SOF_AMD_COMMON);
--
2.34.1
--- End Message ---