Re: [PATCH] ASoC: fsl: Add missing error handling in pcm030_fabric_probe

From: Mark Brown
Date: Wed Jan 26 2022 - 07:58:10 EST


On Wed, Jan 26, 2022 at 11:33:04AM +0000, Miaoqian Lin wrote:
> Add the missing platform_device_put() and platform_device_del()
> before return from pcm030_fabric_probe in the error handling case.

> ret = platform_device_add(pdata->codec_device);
> - if (ret)
> + if (ret) {
> dev_err(&op->dev, "platform_device_add() failed: %d\n", ret);
> + goto exit_device_put;
> + }
>
> ret = snd_soc_register_card(card);
> if (ret)
> dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret);
>
> platform_set_drvdata(op, pdata);
> + return ret;

This means we'll skip the cleanup of the platform device that you just
added if card creation fails:

> +exit_release_dev:
> + platform_device_del(pdata->codec_device);
> +exit_device_put:
> + platform_device_put(pdata->codec_device);
> return ret;

It needs to return early only if the card registration failed.

Attachment: signature.asc
Description: PGP signature