From patchwork Sat Jan 11 09:49:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 234054 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB04FC33CA4 for ; Sat, 11 Jan 2020 10:25:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C1334214DB for ; Sat, 11 Jan 2020 10:25:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578738301; bh=5+KBnVdLRuk87lNb6TdfP6q2MkTmfaix4p79kTqEKBk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=pYBcp+wH5YxJv2KJUm4n3A+DfXDrS5MkR7FHnUZ4IzvQtd6sNEpT56vm/q9ln339B GNYtK1xC/5UM7pwndzVqaKtOPUJi34FitbydsA6/sCCR3//9GixykXyi/ouVBb4WND pcl5bCRE0yiq1bxDCfGf/yEDo8PsfCampAZmyrwI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730588AbgAKKW7 (ORCPT ); Sat, 11 Jan 2020 05:22:59 -0500 Received: from mail.kernel.org ([198.145.29.99]:49236 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729391AbgAKKW7 (ORCPT ); Sat, 11 Jan 2020 05:22:59 -0500 Received: from localhost (unknown [62.119.166.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2C780205F4; Sat, 11 Jan 2020 10:22:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578738178; bh=5+KBnVdLRuk87lNb6TdfP6q2MkTmfaix4p79kTqEKBk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WUefFcL5vGsi+8Tl2kdHN0WFvOQC0Ijtz/9q9aHZVdNn+6QlCt/bhcCdHOEJrCire E2vcfiVFdE9g3VtrEiCPDVAjCZGNm5nQU72Em3MspXO1bB/EY6BvV23/emdYaA1z1d nddqHyiPN0AkWgj5iw9YR0/ssKFKpcQzSQdblLdw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Geert Uytterhoeven , Philipp Zabel , Sasha Levin Subject: [PATCH 5.4 044/165] reset: Do not register resource data for missing resets Date: Sat, 11 Jan 2020 10:49:23 +0100 Message-Id: <20200111094924.584538805@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094921.347491861@linuxfoundation.org> References: <20200111094921.347491861@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Geert Uytterhoeven [ Upstream commit db23808615e29d9a04f96806cac56f78b0fee0ef ] When an optional reset is not present, __devm_reset_control_get() and devm_reset_control_array_get() still register resource data to release the non-existing reset on cleanup, which is futile. Fix this by skipping NULL reset control pointers. Signed-off-by: Geert Uytterhoeven Signed-off-by: Philipp Zabel Signed-off-by: Sasha Levin --- drivers/reset/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/reset/core.c b/drivers/reset/core.c index 3c9a64c1b7a8..f343bd814d32 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c @@ -787,7 +787,7 @@ struct reset_control *__devm_reset_control_get(struct device *dev, return ERR_PTR(-ENOMEM); rstc = __reset_control_get(dev, id, index, shared, optional, acquired); - if (!IS_ERR(rstc)) { + if (!IS_ERR_OR_NULL(rstc)) { *ptr = rstc; devres_add(dev, ptr); } else { @@ -930,7 +930,7 @@ devm_reset_control_array_get(struct device *dev, bool shared, bool optional) return ERR_PTR(-ENOMEM); rstc = of_reset_control_array_get(dev->of_node, shared, optional, true); - if (IS_ERR(rstc)) { + if (IS_ERR_OR_NULL(rstc)) { devres_free(devres); return rstc; }