Applied "ASoC: rockchip: Fix an error handling in 'rockchip_i2s_probe'" to the asoc tree

Christophe JAILLET christophe.jaillet at wanadoo.fr
Thu Jun 15 21:57:30 PDT 2017


Le 15/06/2017 à 19:20, Mark Brown a écrit :
> The patch
>
>     ASoC: rockchip: Fix an error handling in 'rockchip_i2s_probe'
>
> has been applied to the asoc tree at
>
>     git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
>
> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
>
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
>
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
>
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
>
> Thanks,
> Mark
>
>  From c3a3d3c41b74b05267bab6173f2a8224a1443ba6 Mon Sep 17 00:00:00 2001
> From: Christophe Jaillet <christophe.jaillet at wanadoo.fr>
> Date: Thu, 15 Jun 2017 07:53:11 +0200
> Subject: [PATCH] ASoC: rockchip: Fix an error handling in 'rockchip_i2s_probe'
>
> If this memory allocation fail, we must disable what has been enabled.
> Do not return immediately but go thrue the error handling path instead.
>
> Also use 'devm_kmemdup' instead of 'devm_kzalloc+memcpy' to simplify code.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet at wanadoo.fr>
> Signed-off-by: Mark Brown <broonie at kernel.org>
> ---
>   sound/soc/rockchip/rockchip_i2s.c | 9 +++++----
>   1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/sound/soc/rockchip/rockchip_i2s.c b/sound/soc/rockchip/rockchip_i2s.c
> index 66a26c56c658..ce09dee2202e 100644
> --- a/sound/soc/rockchip/rockchip_i2s.c
> +++ b/sound/soc/rockchip/rockchip_i2s.c
> @@ -641,12 +641,13 @@ static int rockchip_i2s_probe(struct platform_device *pdev)
>   			goto err_pm_disable;
>   	}
>   
> -	soc_dai = devm_kzalloc(&pdev->dev,
> +	soc_dai = devm_kmemdup(&pdev->dev, &rockchip_i2s_dai
>   			       sizeof(*soc_dai), GFP_KERNEL);
> -	if (!soc_dai)
> -		return -ENOMEM;
> +	if (!soc_dai) {
> +		err = -ENOMEM;
> +		goto err_pm_disable;
> +	}
>   
> -	memcpy(soc_dai, &rockchip_i2s_dai, sizeof(*soc_dai));
>   	if (!of_property_read_u32(node, "rockchip,playback-channels", &val)) {
>   		if (val >= 2 && val <= 8)
>   			soc_dai->playback.channels_max = val;

... and 'err' should be 'ret'...

I'm really confused for such a ugly proposal !

CJ




More information about the Linux-rockchip mailing list