lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <VI1PR04MB50052C30E9D8F6108C0D0B91E803A@VI1PR04MB5005.eurprd04.prod.outlook.com>
Date:   Tue, 25 Jul 2023 08:24:24 +0000
From:   Carlos Song <carlos.song@....com>
To:     Uwe Kleine-König 
        <u.kleine-koenig@...gutronix.de>
CC:     "festevam@...il.com" <festevam@...il.com>,
        "andi.shyti@...nel.org" <andi.shyti@...nel.org>,
        Aisheng Dong <aisheng.dong@....com>,
        "shawnguo@...nel.org" <shawnguo@...nel.org>,
        "s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
        "kernel@...gutronix.de" <kernel@...gutronix.de>,
        Bough Chen <haibo.chen@....com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Clark Wang <xiaoning.wang@....com>,
        "linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
        "linux-arm-kernel@...ts.infradead.org" 
        <linux-arm-kernel@...ts.infradead.org>,
        dl-linux-imx <linux-imx@....com>
Subject: RE: [EXT] Re: [PATCH v3] i2c: imx-lpi2c: add error message when i2c
 peripheral clk doesn't work

Hi

> -----Original Message-----
> From: Uwe Kleine-König <u.kleine-koenig@...gutronix.de>
> Sent: Tuesday, July 25, 2023 2:45 PM
> To: Carlos Song <carlos.song@....com>
> Cc: festevam@...il.com; andi.shyti@...nel.org; Aisheng Dong
> <aisheng.dong@....com>; shawnguo@...nel.org; s.hauer@...gutronix.de;
> kernel@...gutronix.de; Bough Chen <haibo.chen@....com>;
> linux-kernel@...r.kernel.org; Clark Wang <xiaoning.wang@....com>;
> linux-i2c@...r.kernel.org; linux-arm-kernel@...ts.infradead.org; dl-linux-imx
> <linux-imx@....com>
> Subject: [EXT] Re: [PATCH v3] i2c: imx-lpi2c: add error message when i2c
> peripheral clk doesn't work
> 
> On Tue, Jul 25, 2023 at 10:11:08AM +0800, carlos.song@....com wrote:
> > From: Gao Pan <pandy.gao@....com>
> >
> > Output error log when i2c peripheral clk rate is 0, then directly
> > return -EINVAL.
> >
> > Fixes: a55fa9d0e42e ("i2c: imx-lpi2c: add low power i2c bus driver")
> > Signed-off-by: Gao Pan <pandy.gao@....com>
> > Signed-off-by: Carlos Song <carlos.song@....com>
> > ---
> > Changes for V2:
> > - adjust the Subject from "debug message" to "error message"
> > ---
> >  drivers/i2c/busses/i2c-imx-lpi2c.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > index e93ff3b5373c..12b4f2a89343 100644
> 
> I wonder which tree you based this on. The object e93ff3b5373c is neither in
> v6.5-rc1 nor next nor in Wolfram's tree. (Probably not critical for this patch. But
> if you base your patch on a public tree, you're making things easier for the build
> bots. Related to that I recommend git format-patch --base=...)
> 

I make the patch on linux-next master branch at:
commit 4d2c646ac07cf4a35ef1c4a935a1a4fd6c6b1a36 (tag: next-20230724, origin/master, origin/HEAD)
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Mon Jul 24 14:07:27 2023 +1000

Just now I git fetch and rebase on the linux-next, now I am on master branch at:
commit 1e25dd7772483f477f79986d956028e9f47f990a (tag: next-20230725, origin/master, origin/HEAD)
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Tue Jul 25 14:08:59 2023 +1000

    Add linux-next specific files for 20230725

    Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
I can still git am the patch.

> > --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> > +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> > @@ -214,6 +214,11 @@ static int lpi2c_imx_config(struct lpi2c_imx_struct
> *lpi2c_imx)
> >  	lpi2c_imx_set_mode(lpi2c_imx);
> >
> >  	clk_rate = clk_get_rate(lpi2c_imx->clks[0].clk);
> > +	if (!clk_rate) {
> > +		dev_err(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n");
> > +		return -EINVAL;
> > +	}
> 
> I'm not sure this is a good idea. In my book error messages in functions that
> might be called often (and triggered by user space) do more harm than good as
> they flood the kernel log buffer and so might make it hard to find the original
> cause of the problem. I'd say returning an error code should be enough here.
> 
> Having said that I wonder if you're fixing a real issue? (i.e. did it happen to you
> that clk_rate was 0? Did this result in a div-by-zero? Or a hardware hang? Or a
> too fast (or too slow) bus speed?) Or is this just addressing a warning by some
> static checker?
> 

Thanks for you suggestion. I will rm the line " dev_err(&lpi2c_imx->adapter.dev, "clk_per rate is 0\n");"
And resend the patch.

The per_clk is a critical i2c function clk. If it is 0, it will cause lpi2c can't work. This is a double check for lpi2c clk before configing clk register. It can improve the stability of the driver, even though it rarely triggers.
> Best regards
> Uwe
> 
> --
> Pengutronix e.K.                           | Uwe Kleine-König
> |
> Industrial Linux Solutions                 | https://www.pengutronix.de/ |

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ