Re: [PATCH net-next v6 02/25] net: dsa: qca8k: use iopoll macro for qca8k_busy_wait

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 14, 2021 at 11:52:25PM +0100, Russell King (Oracle) wrote:
> On Fri, May 14, 2021 at 10:59:52PM +0200, Ansuel Smith wrote:
> > Use iopoll macro instead of while loop.
> > 
> > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
> 
> This doesn't look quite right to me.
> 
> >  static int
> >  qca8k_busy_wait(struct qca8k_priv *priv, u32 reg, u32 mask)
> >  {
> > -	unsigned long timeout;
> > -
> > -	timeout = jiffies + msecs_to_jiffies(20);
> > +	u32 val;
> 
> val is unsigned here.
> 
> > +	/* Check if qca8k_read has failed for a different reason
> > +	 * before returning -ETIMEDOUT
> > +	 */
> > +	if (ret < 0 && val < 0)
> 
> but here you are checking it for a negative number - this will always be
> false, making the conditional code unreachable. Either the test is wrong,
> or the type of val is wrong. Please resolve.
>

I know this is wrong and I will fix.
Anyway I tested this and I checked if with u32 a negative value was
actually provided and to my surprise the value was correctly returned.
Any idea why?

> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux