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

From: "Russell King (Oracle)" <[email-masked]>
Date: Fri, 14 May 2021 23:52:25 +0100

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 <[email-masked]>
> Reviewed-by: Andrew Lunn <[email-masked]>

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.

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