summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2022-04-04 12:29:01 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-06-14 17:59:19 +0300
commitcc43b9fdca519c5b13be6a717bacbebccd628cf6 (patch)
tree010db9632fe305622cccde6f721b8617f9c4e2f3 /sound
parentb5433dca714686ecdb842da7ca7bbf37bc9d96aa (diff)
downloadlinux-cc43b9fdca519c5b13be6a717bacbebccd628cf6.tar.xz
ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
[ Upstream commit 4f4e0454e226de3bf4efd7e7924d1edc571c52d5 ] Call of_node_put(platform_node) to avoid refcount leak in the error path. Fixes: 94319ba10eca ("ASoC: mediatek: Use platform_of_node for machine drivers") Fixes: 493433785df0 ("ASoC: mediatek: mt8173: fix device_node leak") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20220404092903.26725-1-linmq006@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/mediatek/mt8173/mt8173-max98090.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/mediatek/mt8173/mt8173-max98090.c b/sound/soc/mediatek/mt8173/mt8173-max98090.c
index 431ba3db1759..c9fc719c2af9 100644
--- a/sound/soc/mediatek/mt8173/mt8173-max98090.c
+++ b/sound/soc/mediatek/mt8173/mt8173-max98090.c
@@ -156,7 +156,8 @@ static int mt8173_max98090_dev_probe(struct platform_device *pdev)
if (!codec_node) {
dev_err(&pdev->dev,
"Property 'audio-codec' missing or invalid\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto put_platform_node;
}
for (i = 0; i < card->num_links; i++) {
if (mt8173_max98090_dais[i].codec_name)
@@ -171,6 +172,8 @@ static int mt8173_max98090_dev_probe(struct platform_device *pdev)
__func__, ret);
of_node_put(codec_node);
+
+put_platform_node:
of_node_put(platform_node);
return ret;
}