Re: [PATCH] base: fix a missing check of clk_prepare

From: Pavel Machek
Date: Mon Feb 11 2019 - 08:24:11 EST


On Tue 2019-01-01 22:05:39, Rafael J. Wysocki wrote:
> On Tue, Jan 1, 2019 at 9:21 PM Pavel Machek <pavel@xxxxxx> wrote:
> >
> > On Tue 2019-01-01 21:13:01, Rafael J. Wysocki wrote:
> > > On Mon, Dec 31, 2018 at 6:25 PM Pavel Machek <pavel@xxxxxx> wrote:
> > > >
> > > > On Wed 2018-12-26 10:37:54, Rafael J. Wysocki wrote:
> > > > > On Wed, Dec 26, 2018 at 3:47 AM Kangjie Lu <kjlu@xxxxxxx> wrote:
> > > > > >
> > > > > > clk_prepare() could fail, so let's check its status, and if it fails,
> > > > > > issue an error message.
> > > > > >
> > > > > > Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
> > > > > > ---
> > > > > > drivers/base/power/clock_ops.c | 4 +++-
> > > > > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c
> > > > > > index 5a42ae4078c2..cb6144fb24e2 100644
> > > > > > --- a/drivers/base/power/clock_ops.c
> > > > > > +++ b/drivers/base/power/clock_ops.c
> > > > > > @@ -65,7 +65,9 @@ static void pm_clk_acquire(struct device *dev, struct pm_clock_entry *ce)
> > > > > > if (IS_ERR(ce->clk)) {
> > > > > > ce->status = PCE_STATUS_ERROR;
> > > > > > } else {
> > > > > > - clk_prepare(ce->clk);
> > > > > > + if (clk_prepare(ce->clk))
> > > > > > + dev_err(dev, "clk_prepare failed.\n");
> > > > >
> > > > > I'm not sure that this is useful. The code continues regardless of
> > > > > the error anyway and it should at least set ce->status to
> > > > > PCE_STATUS_ERROR in the failing case.
> > > >
> > > > Maybe this is not complete fix, but dev_err() is preferable to silent
> > > > failure.
> > >
> > > Preferable to you I suppose?
> >
> > Preferable to the poor person trying to figure out why his machine
> > does not work?
>
> Not really, unless that person knows what the message means.
>
> Honestly, what would you do if you saw that message?

Grep it in the kernel sources. Having something to grep for
(vs. machine that fails to work properly) is quite important.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature