Re: [V2] [PATCH] net/ethernet: update ret when ptp_clock is ERROR

From: Jakub Kicinski
Date: Sat Nov 07 2020 - 12:36:54 EST


On Sat, 7 Nov 2020 06:58:16 -0800 Richard Cochran wrote:
> On Sat, Nov 07, 2020 at 11:38:38AM +0800, Wang Qing wrote:
> > We always have to update the value of ret, otherwise the error value
> > may be the previous one. And ptp_clock_register() never return NULL
> > when PTP_1588_CLOCK enable, so we use IS_ERR here.
> >
> > Signed-off-by: Wang Qing <wangqing@xxxxxxxx>

Wang Qing please send a v3. Please add an appropriate Fixes tag, since
this is a fix, and put [PATCH net] in the subject instead of just
[PATCH] to clarify that you expect the patch to be applied to the
net tree.

> > diff --git a/drivers/net/ethernet/ti/am65-cpts.c b/drivers/net/ethernet/ti/am65-cpts.c
> > index 75056c1..ec8e56d
> > --- a/drivers/net/ethernet/ti/am65-cpts.c
> > +++ b/drivers/net/ethernet/ti/am65-cpts.c
> > @@ -998,11 +998,10 @@ struct am65_cpts *am65_cpts_create(struct device *dev, void __iomem *regs,
> > am65_cpts_settime(cpts, ktime_to_ns(ktime_get_real()));
> >
> > cpts->ptp_clock = ptp_clock_register(&cpts->ptp_info, cpts->dev);
> > - if (IS_ERR_OR_NULL(cpts->ptp_clock)) {
>
> This test was correct.
>
> > + if (IS_ERR(cpts->ptp_clock)) {
>
> This one is wrong.

Please fix this as Richard requests.

> > dev_err(dev, "Failed to register ptp clk %ld\n",
> > PTR_ERR(cpts->ptp_clock));
> > - if (!cpts->ptp_clock)
> > - ret = -ENODEV;
> > + ret = PTR_ERR(cpts->ptp_clock);

But keep this part as is, because your code from v1 looks like it
wouldn't even build.

Thank you!

> > goto refclk_disable;
> > }
> > cpts->phc_index = ptp_clock_index(cpts->ptp_clock);
> > --
> > 2.7.4
> >