All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Kemnade <andreas@kemnade.info>
To: Roger Quadros <rogerq@kernel.org>
Cc: Karol Przybylski <karprzy7@gmail.com>,
	aaro.koskinen@iki.fi, khilman@baylibre.com, tony@atomide.com,
	lee@kernel.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org, skhan@linuxfoundation.org
Subject: Re: [PATCH] mfd: omap-usb-tll: check clk_prepare return code
Date: Tue, 19 Nov 2024 14:56:22 +0100	[thread overview]
Message-ID: <20241119145622.2f1f0342@akair> (raw)
In-Reply-To: <486d5734-aa02-4a5e-b2ee-fdbba65179a3@kernel.org>

Am Tue, 19 Nov 2024 15:10:23 +0200
schrieb Roger Quadros <rogerq@kernel.org>:

> Hi,
> 
> On 13/11/2024 23:16, Karol Przybylski wrote:
> > clk_prepare() is called in usbtll_omap_probe to fill clk array.
> > Return code is not checked, leaving possible error condition unhandled.
> > 
> > Added variable to hold return value from clk_prepare() and dev_dbg statement
> > when it's not successful.
> > 
> > Found in coverity scan, CID 1594680
> > 
> > Signed-off-by: Karol Przybylski <karprzy7@gmail.com>
> > ---
> >  drivers/mfd/omap-usb-tll.c | 11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/mfd/omap-usb-tll.c b/drivers/mfd/omap-usb-tll.c
> > index 0f7fdb99c809..2e9319ee1b74 100644
> > --- a/drivers/mfd/omap-usb-tll.c
> > +++ b/drivers/mfd/omap-usb-tll.c
> > @@ -202,7 +202,7 @@ static int usbtll_omap_probe(struct platform_device *pdev)
> >  	struct device				*dev =  &pdev->dev;
> >  	struct usbtll_omap			*tll;
> >  	void __iomem				*base;
> > -	int					i, nch, ver;
> > +	int					i, nch, ver, err;
> >  
> >  	dev_dbg(dev, "starting TI HSUSB TLL Controller\n");
> >  
> > @@ -248,10 +248,13 @@ static int usbtll_omap_probe(struct platform_device *pdev)
> >  					"usb_tll_hs_usb_ch%d_clk", i);
> >  		tll->ch_clk[i] = clk_get(dev, clkname);
> >  
> > -		if (IS_ERR(tll->ch_clk[i]))
> > +		if (IS_ERR(tll->ch_clk[i])) {
> >  			dev_dbg(dev, "can't get clock : %s\n", clkname);

if you want dev_err() later, then why not here?

> > -		else
> > -			clk_prepare(tll->ch_clk[i]);
> > +		} else {
> > +			err = clk_prepare(tll->ch_clk[i]);
> > +			if (err)
> > +				dev_dbg(dev, "clock prepare error for: %s\n", clkname);  
> 
> dev_err()?
> 
So why do you want a different return handling here? (I doubt there is
any clock having a real prepare() involved here)

As said in an earlier incarnation of this patch, the real question is
whether having partial clocks available is a valid operating scenario.
If yes, then the error should be ignored. If no, then bailing out early
is a good idea.

clk_prepare() errors are catched by failing clk_enable() later,
ch_clk[i] is checked later, too.

> I think we should return the error in this case.
> (after unpreparing the prepared clocks and clk_put())
>
and pm_runtime_put_sync(dev) 

Regards,
Andreas

  reply	other threads:[~2024-11-19 13:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-13 21:16 [PATCH] mfd: omap-usb-tll: check clk_prepare return code Karol Przybylski
2024-11-19 13:10 ` Roger Quadros
2024-11-19 13:56   ` Andreas Kemnade [this message]
2024-11-19 14:16     ` Roger Quadros
2024-11-26 22:06       ` Andreas Kemnade
2024-12-05 21:54         ` Karol P
2024-12-05 22:50           ` Andreas Kemnade

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241119145622.2f1f0342@akair \
    --to=andreas@kemnade.info \
    --cc=aaro.koskinen@iki.fi \
    --cc=karprzy7@gmail.com \
    --cc=khilman@baylibre.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=rogerq@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.