Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2434360pxj; Mon, 10 May 2021 02:55:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7xkpSOLLOj8vKNSF/7fIayVI0vR+PZ9U1vaq8fntFLXMyLVxE/1YhiQGZZiDu3MdXnrdA X-Received: by 2002:a02:3712:: with SMTP id r18mr20589300jar.11.1620640550134; Mon, 10 May 2021 02:55:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620640550; cv=none; d=google.com; s=arc-20160816; b=qAzJDRZ2RTJ9tu9VI1g+RMq1wNOQH85eBxKSZpiK4xSp4eCiwCWlUsKlJOcoRiuHxX X7k78y1VSa4uZ8RTcbjnPzJEI0N7Q0OCK6AEx8XxejVJYiBGfaPvtoCHzagZjfu+grWd TLKaA6aLoGKqk5+Bi7p2fmv0T+71G1MmarWXIYXZzdjBDPEj/FWt0exsMSb+zNkCTAJ2 Enz5/+1b57ux//mO3BJ1Ekfh485hGiVTJONdDh2b7xDXguOcxaux0YHs0Ekr/dxRdNKd D+j+0DSsjdvt7MkaW+auJKFm3xPNbmgcCDgVNQd06j9roDEGcjCMP2VoREQjRKbDL4aw 8EEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=A0QUOwhy7w2g7qL0ylbxAkoXIwlzAqTKG21etChMX5A=; b=MZ/YUZ4O4YyNAfJEzWZuSlAty9d/JNn36hWicgzCwCIENaUn/kJIquo9nz7F/pMXVn cXQ9OnuuLP3CBdwfpWig3pCgelEEZFm1JiGW/rofPidui/3j7SLdk/HAE1lkolbEs8xO cRFPzi1MOmICiYQEYUKYtoVI7k7tNrRKxyMx+RYD7eW/C4d1GhsAoWVYBdgEEXv1jMrV ef54M5avA6inIujxMCEBjoX1u7l14ryG1IL2m8OyPQfuzlOZqzL/Zjub1oJ/uQnw682G VMZLZqsesm6m9W+405djy/6vc6gAXJqGxaj3mwMzvRY74MluqI3myEEoZbIcbg1aSsxK 81gw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s9si6611524jat.121.2021.05.10.02.55.37; Mon, 10 May 2021 02:55:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231524AbhEJJy0 (ORCPT + 99 others); Mon, 10 May 2021 05:54:26 -0400 Received: from fgw20-7.mail.saunalahti.fi ([62.142.5.81]:64290 "EHLO fgw20-7.mail.saunalahti.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231183AbhEJJwg (ORCPT ); Mon, 10 May 2021 05:52:36 -0400 Received: from localhost (88-115-248-186.elisa-laajakaista.fi [88.115.248.186]) by fgw20.mail.saunalahti.fi (Halon) with ESMTP id 44248f90-b175-11eb-ba24-005056bd6ce9; Mon, 10 May 2021 12:51:17 +0300 (EEST) From: Andy Shevchenko To: Pavel Machek , Andy Shevchenko , Amireddy Mallikarjuna reddy , Linus Walleij , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Abanoub Sameh , Dan Murphy , Krzysztof Kozlowski , linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Andy Shevchenko Subject: [PATCH v1 23/28] leds: lp50xx: Put fwnode in error case during ->probe() Date: Mon, 10 May 2021 12:50:40 +0300 Message-Id: <20210510095045.3299382-24-andy.shevchenko@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510095045.3299382-1-andy.shevchenko@gmail.com> References: <20210510095045.3299382-1-andy.shevchenko@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org fwnode_for_each_child_node() bumps a reference counting of a returned variable. We have to balance it whenever we return to the caller. OTOH, the successful iteration will drop reference count under the hood, no need to do it twice. Fixes: 242b81170fb8 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver") Cc: Dan Murphy Signed-off-by: Andy Shevchenko --- drivers/leds/leds-lp50xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/leds/leds-lp50xx.c b/drivers/leds/leds-lp50xx.c index 06230614fdc5..401df1e2e05d 100644 --- a/drivers/leds/leds-lp50xx.c +++ b/drivers/leds/leds-lp50xx.c @@ -490,6 +490,7 @@ static int lp50xx_probe_dt(struct lp50xx *priv) ret = fwnode_property_read_u32(led_node, "color", &color_id); if (ret) { + fwnode_handle_put(led_node); dev_err(priv->dev, "Cannot read color\n"); goto child_out; } @@ -512,7 +513,6 @@ static int lp50xx_probe_dt(struct lp50xx *priv) goto child_out; } i++; - fwnode_handle_put(child); } return 0; -- 2.31.1