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

Mark Brown broonie at kernel.org
Wed Jan 26 13:58:01 CET 2022


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20220126/58024c42/attachment.sig>


More information about the Alsa-devel mailing list