Re: [PATCH v2 9/9] ASoC: tegra_sgtl5000: fix platform name vs. of_node assignement

From: Jon Hunter
Date: Wed Oct 17 2018 - 08:32:47 EST



On 16/10/2018 11:47, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
>
> This fixes the following error as seen post commit daecf46ee0e5
> ("ASoC: soc-core: use snd_soc_dai_link_component for platform"):
>
> tegra-snd-sgtl5000 sound: ASoC: Both platform name/of_node are set for
> sgtl5000
> tegra-snd-sgtl5000 sound: ASoC: failed to init link sgtl5000
> tegra-snd-sgtl5000 sound: snd_soc_register_card failed (-22)
> tegra-snd-sgtl5000: probe of sound failed with error -22
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
>
> ---
>
> Changes in v2: New patch
>
> sound/soc/tegra/tegra_sgtl5000.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/sound/soc/tegra/tegra_sgtl5000.c b/sound/soc/tegra/tegra_sgtl5000.c
> index 901457da25ec..eb702925cac3 100644
> --- a/sound/soc/tegra/tegra_sgtl5000.c
> +++ b/sound/soc/tegra/tegra_sgtl5000.c
> @@ -168,6 +168,11 @@ static int tegra_sgtl5000_driver_probe(struct platform_device *pdev)
> return 0;
>
> err_fini_utils:
> + if (tegra_sgtl5000_dai.platform) {
> + devm_kfree(&pdev->dev, tegra_sgtl5000_dai.platform);
> + tegra_sgtl5000_dai.platform = NULL;
> + }
> +
> tegra_asoc_utils_fini(&machine->util_data);
> err_put_cpu_of_node:
> of_node_put(tegra_sgtl5000_dai.cpu_of_node);
>

Where is the above allocated? I don't see it allocated in this driver
AFAICT. If it is not then it does not seem right to free something that
we have not allocated in this driver. I would have assumed it was
allocated by snd_soc_init_platform() in which case it should not be
necessary to free because that function uses devm_kzalloc(). What am I
missing here?

Cheers
Jon

--
nvpublic