[PATCH] powermac: low_i2c: Add missing of_node_put for loop iteration

Qing Wang wangqing at vivo.com
Fri Dec 10 19:11:51 AEDT 2021


From: Wang Qing <wangqing at vivo.com>

for_each_available_child_of_node() should decrement the
node reference counter.  Reported by Coccinelle:

arch/powerpc/platforms/powermac/low_i2c.c:916:1-23: WARNING: Function 
"for_each_child_of_node" should have of_node_put() before return.

Signed-off-by: Wang Qing <wangqing at vivo.com>
---
 arch/powerpc/platforms/powermac/low_i2c.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index f77a59b..5a8c306
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -922,8 +922,10 @@ static void __init smu_i2c_probe(void)
 
 		sz = sizeof(struct pmac_i2c_bus) + sizeof(struct smu_i2c_cmd);
 		bus = kzalloc(sz, GFP_KERNEL);
-		if (bus == NULL)
+		if (bus == NULL) {
+			of_node_put(busnode);
 			return;
+		}
 
 		bus->controller = controller;
 		bus->busnode = of_node_get(busnode);
-- 
2.7.4



More information about the Linuxppc-dev mailing list