net: encx24j600: Add parentheses to fix precedence
authorValentina Goncharenko <goncharenko.vp@ispras.ru>
Thu, 1 Dec 2022 17:34:07 +0000 (20:34 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2022 09:46:31 +0000 (09:46 +0000)
In functions regmap_encx24j600_phy_reg_read() and
regmap_encx24j600_phy_reg_write() in the conditions of the waiting
cycles for filling the variable 'ret' it is necessary to add parentheses
to prevent wrong assignment due to logical operations precedence.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: d70e53262f5c ("net: Microchip encx24j600 driver")
Signed-off-by: Valentina Goncharenko <goncharenko.vp@ispras.ru>
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/encx24j600-regmap.c

index 81a8ccca7e5e075de4e1c4d5dfc21cab6874a686..2e337c7a57736d1bf3f441d7f922b418094b8217 100644 (file)
@@ -359,7 +359,7 @@ static int regmap_encx24j600_phy_reg_read(void *context, unsigned int reg,
                goto err_out;
 
        usleep_range(26, 100);
-       while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
+       while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
               (mistat & BUSY))
                cpu_relax();
 
@@ -397,7 +397,7 @@ static int regmap_encx24j600_phy_reg_write(void *context, unsigned int reg,
                goto err_out;
 
        usleep_range(26, 100);
-       while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
+       while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
               (mistat & BUSY))
                cpu_relax();