From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A591C37F019 for ; Tue, 23 Jun 2026 13:59:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782223175; cv=none; b=RLRQkh2mwaDjbE4dYY8H6PyEoN2y+YOsdf+oQMUleMT5Q8ThOuQK8GwqRrWXkQ4KgYbBMFSup/peMzr1SXXU8HJZeQMg6uCp01o925njYl3KNHOqIc0v0P06uMTEkzpWbDbHLYrC2Azkknf7866SO1rAD5JotpE5YjCy7uoq3dU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782223175; c=relaxed/simple; bh=+QO87KVJcXVWtp5OCGxQiPqy8tJ7A6wL9dyNda913JY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=VuBM5GjxiaCbjKu2WyP2bbBNoP+vV8HRy0VzwrdWdB4KqTTNJqVN+Je+7PH1T+vO+CiVkxKMCLwMCcvwEkOcndJW6u/D3PgkYRQx9AJB44ZdzYzKyCBhk8uXVGys8ZVVZ+DW6tk198kWjLxb2KRqXlDr75jiNGqmgO5DCZ1hlQI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=GZZpJ+dh; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=of2mh9xT; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="GZZpJ+dh"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="of2mh9xT" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1782223173; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=EQ9x8NWrux7PBvYE3t1qf1YpH0o3vvkHjjg5EqulJzY=; b=GZZpJ+dhJZBtFnZnGQAyU0v1VjYh4HBQ/OuKM+e5SUWbRh1uC2fcHEe+KW1o7ZfnPLR4JD QzE+SbGJHUt2Ej/5D26Sim6pr2bL70XJp/m2fePol07pDZhEiiQ0Z5LvT3xLheqG68l/tm a/su3sSw/AF8i4+jIMngLpXlxsAv5NI= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-449-nL7EQvzmNpGjNNB0dXURWg-1; Tue, 23 Jun 2026 09:59:31 -0400 X-MC-Unique: nL7EQvzmNpGjNNB0dXURWg-1 X-Mimecast-MFC-AGG-ID: nL7EQvzmNpGjNNB0dXURWg_1782223171 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8ddd042321dso95449186d6.3 for ; Tue, 23 Jun 2026 06:59:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1782223171; x=1782827971; darn=vger.kernel.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=EQ9x8NWrux7PBvYE3t1qf1YpH0o3vvkHjjg5EqulJzY=; b=of2mh9xTHHbbVzvJPOybBpcUd9lptdiCwkMYqv2kG8fvsl3CwHX9BDO67kY+/bzs4H MOdxlFlneycEwivFBJu1gr0BTS71u95wMTxHJpfwrAeGaQ3qvG7jV6PTgq+aCzsaLH5K UnAHsIqD+j255upb3ogQ0duuRpmGyRazE7AB8GcKP04z3/B7nv6ePN5LpinmdGmQRHDC GGJk1Z2qf9hI3BC6LLkzPLa+mhOGPQMokOdsOOs+8ImgLTfj3PY5F72H7847iZ0ebAiC To2ikkQT3jFJEucsB/xkarNsv9ItULu5cne+VlHLjp6glFtYoeU7vdHEsO7YkjcSLWln fNhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782223171; x=1782827971; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=EQ9x8NWrux7PBvYE3t1qf1YpH0o3vvkHjjg5EqulJzY=; b=aGhBsWMNeqbf/RH/HZnKODjQXTC69lAh5aVcn0QdmuY0usVDWkl5B1FTcgimJw+E47 GTtRW/KsC0n6GXJZPvn0P5o8gPthvWj2GjXEnONhwiqinMpwfL9Ofyc+Y8hhJBaUKLlF KCZsjrL66eciKlIgM/elA+S1S3O+DsJCU33qwc85ROfW8GAcfJjJb0P97gnQM5onI0Bb gy4CeoT2cf6sBeMsFxWEaavP6SuBKJ3Ehk3nrMeAu+pM71I+mPWSqKNVQyj60wehTAUm x7TwfZzWJHEb19m/KlezEnYSGLmFDaoZD1HdRw3j6K+99vX+fKAFHQV4aPR3dvdbY6Y6 v2Ug== X-Forwarded-Encrypted: i=1; AHgh+RpkvqaKz2wTjI7iclW8DLcKNEqOED4u0kBrGlwJkXFnkW4/95/e4hU7JK9oix+bBxgKGuBSSmxcx75gIaI=@vger.kernel.org X-Gm-Message-State: AOJu0Yw+tpoCmH4kzO2S3GU1K3+Kz4YhKUgp9/yg4tclQDIr6SiT/BaC aURQqmUiVExli6g2uLXQkhJo6j2fWkhuW0pY6jn8o7JC8oORUC0Jod46J28kO6LexLlLwl2G5JG yQlX0hNfOJSABIdU+d4TPDL3tMiP26UBU2xq/7ono60XOXYFsb5I2xDDbrJtzkUsHOQ== X-Gm-Gg: AfdE7ckU51WpKHrbVzapNaH9JtdmP032gcMwbCpucM9ke2YHyOaxH0QgvjDIjKFON3k AAEctEx2G8X7ckYmX7ui/7GIqlFp80ZcUOxxqZ2o4OzZnVj7get5HE+VurOaUQh3LxizNdaMUxG EtvKPIoAjuNkTHOhaxJF41EDVFCCzZcZtfg0H6uGXqvnBwNbkhZ97y3lPsNiC4LofIXhq6NMSnj P6/SLSM7zlsxHDkwuRwGOH7/2pITNZ2PjVigW+i58mF4PoYcxinkDfajmvq8JofipEEvdSNAwF3 /nc3Ppbk2Re0pLYYtirPz/0npaCCsbWH5BA+k02Ce9vpEfCEYsT9+cTB/d7PUhaJ/yboUf5/jpt ZlfDYdb+x0ssiZgfXEeNlU8CzIp5oqDV5G6nD4lXGaUEbbg== X-Received: by 2002:a05:6214:529a:b0:8e0:4976:c301 with SMTP id 6a1803df08f44-8e48912ce1bmr24845156d6.41.1782223170496; Tue, 23 Jun 2026 06:59:30 -0700 (PDT) X-Received: by 2002:a05:6214:529a:b0:8e0:4976:c301 with SMTP id 6a1803df08f44-8e48912ce1bmr24839726d6.41.1782223164971; Tue, 23 Jun 2026 06:59:24 -0700 (PDT) Received: from redhat.com (c-73-183-53-213.hsd1.pa.comcast.net. [73.183.53.213]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8df7f015805sm126048916d6.1.2026.06.23.06.59.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 06:59:24 -0700 (PDT) Date: Tue, 23 Jun 2026 09:59:22 -0400 From: Brian Masney To: Myeonghun Pak Cc: Michael Turquette , Stephen Boyd , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Ijae Kim Subject: Re: [PATCH] clk: palmas: unprepare clock on provider registration failure Message-ID: References: <20260623090738.13773-1-mhun512@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260623090738.13773-1-mhun512@gmail.com> User-Agent: Mutt/2.3.2 (2026-04-26) Hi Myeonghun, Thanks for the patch! On Tue, Jun 23, 2026 at 06:07:34PM +0900, Myeonghun Pak wrote: > palmas_clks_init_configure() prepares the clock when an external control > pin is configured. If the subsequent of_clk_add_hw_provider() call fails, > palmas_clks_probe() returns the error without dropping that prepare > reference. > > Unprepare the clock on that error path when external control is active, so > the probe failure path balances the successful clk_prepare(). > > This issue was identified during our ongoing static-analysis research while > reviewing kernel code. > > Fixes: 942d1d674931 ("clk: Add driver for Palmas clk32kg and clk32kgaudio clocks") > Co-developed-by: Ijae Kim > Signed-off-by: Ijae Kim > Signed-off-by: Myeonghun Pak > > --- > drivers/clk/clk-palmas.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/clk-palmas.c b/drivers/clk/clk-palmas.c > index 39049f62db..ab9df2eedb 100644 > --- a/drivers/clk/clk-palmas.c > +++ b/drivers/clk/clk-palmas.c > @@ -265,8 +265,11 @@ static int palmas_clks_probe(struct platform_device *pdev) > } > > ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &cinfo->hw); > - if (ret < 0) > + if (ret < 0) { > dev_err(&pdev->dev, "Fail to add clock driver, %d\n", ret); > + if (cinfo->ext_control_pin) > + clk_unprepare(cinfo->hw.clk); > + } The driver currently only calls clk_unprepare() on an error path in palmas_clks_init_configure(). It leaks when the driver is removed. I think the cleanest approach to fixing this is to convert over to use devm_of_clk_add_hw_provider(). Brian