]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: mediatek: common: fix device and OF node leak
authorJohan Hovold <johan@kernel.org>
Tue, 22 Jul 2025 09:25:42 +0000 (11:25 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 23 Jul 2025 12:03:57 +0000 (13:03 +0100)
Make sure to drop the references to the accdet OF node and platform
device taken by of_parse_phandle() and of_find_device_by_node() after
looking up the sound component during probe.

Fixes: cf536e2622e2 ("ASoC: mediatek: common: Handle mediatek,accdet property")
Cc: stable@vger.kernel.org # 6.15
Cc: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20250722092542.32754-1-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/common/mtk-soundcard-driver.c

index 713a368f79cf049f7879075c675457e91ba8332d..95a083939f3e22ca0096f76a4ada3d57aa834ee0 100644 (file)
@@ -262,9 +262,13 @@ int mtk_soundcard_common_probe(struct platform_device *pdev)
                                soc_card_data->accdet = accdet_comp;
                        else
                                dev_err(&pdev->dev, "No sound component found from mediatek,accdet property\n");
+
+                       put_device(&accdet_pdev->dev);
                } else {
                        dev_err(&pdev->dev, "No device found from mediatek,accdet property\n");
                }
+
+               of_node_put(accdet_node);
        }
 
        platform_node = of_parse_phandle(pdev->dev.of_node, "mediatek,platform", 0);