Re: [PATCH] net: ocelot: fix wront time_after usage

From: Clément Léger
Date: Fri May 20 2022 - 04:23:12 EST


Le Thu, 19 May 2022 23:13:01 +0000,
Vladimir Oltean <vladimir.oltean@xxxxxxx> a écrit :

> On Thu, May 19, 2022 at 11:40:17PM +0300, Pavel Skripkin wrote:
> > Accidentally noticed, that this driver is the only user of
> > while (timer_after(jiffies...)).
> >
> > It looks like typo, because likely this while loop will finish after 1st
> > iteration, because time_after() returns true when 1st argument _is after_
> > 2nd one.
> >
> > Fix it by negating time_after return value inside while loops statement
> >
> > Fixes: 753a026cfec1 ("net: ocelot: add FDMA support")
> > Signed-off-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
> > ---
> > drivers/net/ethernet/mscc/ocelot_fdma.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ethernet/mscc/ocelot_fdma.c b/drivers/net/ethernet/mscc/ocelot_fdma.c
> > index dffa597bffe6..4500fed3ce5c 100644
> > --- a/drivers/net/ethernet/mscc/ocelot_fdma.c
> > +++ b/drivers/net/ethernet/mscc/ocelot_fdma.c
> > @@ -104,7 +104,7 @@ static int ocelot_fdma_wait_chan_safe(struct ocelot *ocelot, int chan)
> > safe = ocelot_fdma_readl(ocelot, MSCC_FDMA_CH_SAFE);
> > if (safe & BIT(chan))
> > return 0;
> > - } while (time_after(jiffies, timeout));
> > + } while (!time_after(jiffies, timeout));
> >
> > return -ETIMEDOUT;
> > }
> > --
> > 2.36.1
> >
>
> +Clement. Also, there seems to be a typo in the commit message (wront -> wrong),
> but maybe this isn't so important.

Hi Pavel,

Thanks for this fix which is indeed necessary.

Acked-by: Clément Léger <clement.leger@xxxxxxxxxxx>


--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com