[PATCH] net: phy: Fix overlong PHY timeout

Stefan Roese sr at denx.de
Sat Jan 4 07:30:17 CET 2020


On 03.01.20 23:08, Andre Przywara wrote:
> Commit 27c3f70f3b50 ("net: phy: Increase link up delay in
> genphy_update_link()") increased the per-iteration waiting time from
> 1ms to 50ms, without adjusting the timeout counter. This lead to the
> timeout increasing from the typical 4 seconds to over three minutes.
> 
> Adjust the timeout counter evaluation by that factor of 50 to bring the
> timeout back to the intended value.
> 
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
>   drivers/net/phy/phy.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 80a7664e49..5cf9c165b6 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -244,7 +244,7 @@ int genphy_update_link(struct phy_device *phydev)
>   			/*
>   			 * Timeout reached ?
>   			 */
> -			if (i > PHY_ANEG_TIMEOUT) {
> +			if (i > (PHY_ANEG_TIMEOUT / 50)) {
>   				printf(" TIMEOUT !\n");
>   				phydev->link = 0;
>   				return -ETIMEDOUT;
> 

Andre, thanks for taking care of this.

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan


More information about the U-Boot mailing list