firmware: imx-dsp: Fix an error handling path in imx_dsp_setup_channels()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 15 Jan 2023 18:13:46 +0000 (19:13 +0100)
committerShawn Guo <shawnguo@kernel.org>
Tue, 19 Sep 2023 12:12:04 +0000 (14:12 +0200)
If mbox_request_channel_byname() fails, the memory allocated a few lines
above still need to be freed before going to the error handling path.

Fixes: 046326989a18 ("firmware: imx: Save channel name for further use")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/firmware/imx/imx-dsp.c

index 3dba590..508eab3 100644 (file)
@@ -114,6 +114,7 @@ static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
                dsp_chan->idx = i % 2;
                dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
                if (IS_ERR(dsp_chan->ch)) {
+                       kfree(dsp_chan->name);
                        ret = PTR_ERR(dsp_chan->ch);
                        if (ret != -EPROBE_DEFER)
                                dev_err(dev, "Failed to request mbox chan %s ret %d\n",