[PATCH] net: phy: vitesse: Fix incorrect test for timeout
Quentin Schulz
quentin.schulz at cherry.de
Mon Aug 11 15:01:58 CEST 2025
Hi Andrew,
On 8/6/25 11:37 AM, Andrew Goodbody wrote:
> In vsc8514_config there is a while loop for detecting a config failure
> using a timeout counter with a post-decrement. In the case of a timeout
> this will result in the loop exiting with timeout == -1 so use that as
> the test below the loop to detect that the timeout occurred.
>
> This issue was found by Smatch.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
> ---
> drivers/net/phy/vitesse.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/phy/vitesse.c b/drivers/net/phy/vitesse.c
> index 4867d1931b4..821d3878236 100644
> --- a/drivers/net/phy/vitesse.c
> +++ b/drivers/net/phy/vitesse.c
> @@ -239,7 +239,7 @@ static int vsc8514_config(struct phy_device *phydev)
> while ((val & MIIM_VSC8514_18G_CMDSTAT) && timeout--)
> val = phy_read(phydev, MDIO_DEVAD_NONE, MIIM_VSC8514_GENERAL18);
>
> - if (0 == timeout) {
> + if (timeout == -1) {
Could have used --timeout instead in the while loop and that could even
have allowed us to change the type of timeout to an unsigned number type.
But that works too, so
Reviewed-by: Quentin Schulz <quentin.schulz at cherry.de>
Thanks!
Quentin
More information about the U-Boot
mailing list