From nobody Sat Feb 7 16:06:00 2026 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE92A35580A for ; Wed, 7 Jan 2026 14:50:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767797407; cv=none; b=qHjLPdjWC8HIQoSpGys3eLMgtnC5q/WF1YN3OOMqiNplX0KxE7jBT+nyLrdAkruSeXlORajFHNp2xQ69fpD5FMrtrN3811vm4FsDOq/0fTpmyTaKSRXhagu7YtTRmVORqYPu4SQo1dTpzBt853e/WAMXbU+zsUI7UPxwNrdlSJQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767797407; c=relaxed/simple; bh=rdZQK5qeB6F7CRcHIONb4DtCFO1Jir+YYoXsXOlqEN0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Ig4Rga41eEFacQSGpbRBNW2ApfDPTzcNj+8wAdYFADQbsbgIeXtPG8TynCNweq16wjak/3MDeothiUlqbux2NBW9iWoi9DTSM8/vX7GbhMnVmA0vl472u0XawE/MAm3c7KrE4ZT5eOGGMaFAAM+ODCkxu5mKxR+RRqC500BCVfI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=N2ZmuNxA; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N2ZmuNxA" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-34f634dbfd6so1194396a91.2 for ; Wed, 07 Jan 2026 06:50:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767797405; x=1768402205; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AU5dBmOn6WSqSRfd8qr+JTM1Eb91k8Rt6J2h93oTdQg=; b=N2ZmuNxAaLHR9sON+z/SMa8i9U/KiKyWaN94ny2h11PeVkYvv/vOz+tiw6AwMA/O7c TJmd4AsPZmISnqmunZd0ylGNi+QEDRR5NKd5xdWmq8fXY5IiR/jtRQ8Wcz9l3C6uXQsi WdmbIJsodrB0W/BJ5yfxCwwyRo/n+6yHGr+tPRautw1fA0raZtnhl1GFCztECdabHomf J7RYXQwFVyHf8UPfmMYj1nAaw6FthIGXWoAFrf31ZQt2axdawp7dFXDguvsJ8CMQXneR JydUpouqasYvRMHqnU/Cm5gfJu9690es8/IiFR9eKD/rf4eTVHNlJKF7qxko6Q2lq07K 6HOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767797405; x=1768402205; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=AU5dBmOn6WSqSRfd8qr+JTM1Eb91k8Rt6J2h93oTdQg=; b=DaHInF+9cs24rK5odjuWPRrH/YxSwYTvP+9BRihod8/n17aWcaoLaObIgcgCCUfI+d oEHmWmL9CwmlHS1moGi4oH0tndLVsvxg+X/mlHwoFOcsmApiYKkKT9CaGEiRYeciXd+3 876DOhhMpMHM6c2yszOLQKE4NOsYtDhsOVxp+7FTgLQsXQz4rV1hN7j5+jE8Ho/KBFr4 bxnowaP76NKExmZ4UjMkQJAxAmnuwfKEWVb+7SeM3OtY5BRzc5Qlnxk4YrAXjAUkbyK5 kTzEMRpY5hj7exWJP5QEsP+JyxFgjlbzSfnh59kBt6eZUm/VQQgyjsChVaY/k0LeStkw cSyg== X-Gm-Message-State: AOJu0YzJYJKGGiIPKjrJMyKdHMXEtzXvnySFWvFLEKA5jHz5JC/w6oOX Bai8IHWbBqcNukw4rcM24sSVHKvuzee2t8z073GH3exfuyZ9f4wPXBmVi5qlboeh7vgWEHc= X-Gm-Gg: AY/fxX6YRahgjBpSgHAhcGYHD5aMRkjLBCuC/SfHydwlUD/NbKgaUdW7naGtJ+7kqZW wyF4R936PCKYVLXdzOHkP/SZ4Dgft4BJIwdryELvqwOYobH8b6322MoiRgG0ZTw3lvZytPA6gKD ynJmx7pq9Tk9VL/cjXhgk4ahX+lscX92HWAxSV/kF6U07jSxfucJN7iNk2kwLWLVGfqVJ2KAQSy tEKOH64BkBChKx5FJ1uIT1kD6FwGVz0qbNwNO/MJkEcs24gkwoBksJD2WlzOGd1GDL71Mqz/2t8 g/mUOiG1tEydVEiJSGUEwSSMPEuRKNx3JLPK4sy3WLQPiVEu4IRvMkFBEHK+DTQ+xLb3gtZPy/a ioHZkHb3LWOQOpbT22OL13to4ikd+1GmONeIlNc/6qJcbPx47h0LvUFE9KeEddlILRuAgjkV72T o+KVJFYT1KSmODq1ay1oxYPNJ1v0s6c+VoJMwhMOf0kKAT5CIN52MUB2+B9H5jsQYj0ReM6xQWx yaHD2zO X-Google-Smtp-Source: AGHT+IEr9IlM/FiJLkNPlgAfqTyGhhEKXf2Ox5ake4U5j3nibz0Ok0TWt5/9OsigKs75fsXg4RT3jA== X-Received: by 2002:a17:90b:4986:b0:340:c179:3657 with SMTP id 98e67ed59e1d1-34f68ce934emr2178154a91.33.1767797404901; Wed, 07 Jan 2026 06:50:04 -0800 (PST) Received: from DESKTOP-BKIPFGN (ec2-54-169-177-146.ap-southeast-1.compute.amazonaws.com. [54.169.177.146]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34f5fb7419csm5397925a91.13.2026.01.07.06.50.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 06:50:04 -0800 (PST) From: Kery Qi To: peter.ujfalusi@gmail.com Cc: linux-kernel@vger.kernel.org, Kery Qi Subject: [PATCH] ASoC: omap-twl4030: Add missing of_node_put() in omap_twl4030_probe Date: Wed, 7 Jan 2026 22:49:26 +0800 Message-ID: <20260107144925.1466-2-qikeyu2017@gmail.com> X-Mailer: git-send-email 2.50.1.windows.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The omap_twl4030_probe() function calls of_parse_phandle() to acquire device nodes for the "ti,mcbsp" and "ti,mcbsp-voice" properties. of_parse_phandle() returns a device node with its reference count incremented. If snd_soc_of_parse_audio_routing() or devm_snd_soc_register_card() fails, the function returns an error without releasing the acquired device node, which leads to a reference leak. This patch adds the missing of_node_put() in the error handling paths to properly decrement the reference count. It also resets the of_node pointers in the dai_links array to NULL to ensure a clean state upon failure. Signed-off-by: Kery Qi --- sound/soc/ti/omap-twl4030.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sound/soc/ti/omap-twl4030.c b/sound/soc/ti/omap-twl4030.c index 4d80f8a7a947..74ec05c915c6 100644 --- a/sound/soc/ti/omap-twl4030.c +++ b/sound/soc/ti/omap-twl4030.c @@ -285,8 +285,15 @@ static int omap_twl4030_probe(struct platform_device *= pdev) if (prop) { ret =3D snd_soc_of_parse_audio_routing(card, "ti,audio-routing"); - if (ret) + if (ret) { + omap_twl4030_dai_links[0].cpus->of_node =3D NULL; + omap_twl4030_dai_links[0].platforms->of_node =3D NULL; + omap_twl4030_dai_links[1].cpus->of_node =3D NULL; + omap_twl4030_dai_links[1].platforms->of_node =3D NULL; + if (dai_node) + of_node_put(dai_node); return ret; + } =20 card->fully_routed =3D 1; } @@ -310,6 +317,12 @@ static int omap_twl4030_probe(struct platform_device *= pdev) if (ret) { dev_err(&pdev->dev, "devm_snd_soc_register_card() failed: %d\n", ret); + omap_twl4030_dai_links[0].cpus->of_node =3D NULL; + omap_twl4030_dai_links[0].platforms->of_node =3D NULL; + omap_twl4030_dai_links[1].cpus->of_node =3D NULL; + omap_twl4030_dai_links[1].platforms->of_node =3D NULL; + if (dai_node) + of_node_put(dai_node); return ret; } =20 --=20 2.34.1