[U-Boot] [PATCH] net: fix m88e1111s PHY auto negotiation timeout

Stefan Roese stefan.roese at gmail.com
Thu Feb 18 08:47:34 CET 2016


Hi Thomas,

On 16.02.2016 07:54, Thomas Chou wrote:
> After commit a058052c358c
> ("net: phy: do not read configuration register on reset")
>
> both 3c120 and 10m50 devboard which use Marvel m88e1111s PHY got this
> error message,
>
> Net:   eth0: ethernet at 400
> => ping 192.168.1.5
> ethernet at 400 Waiting for PHY auto negotiation to complete.... TIMEOUT !
> Using ethernet at 400 device
> host 192.168.1.5 is alive
>
> This is because the auto negotiation control bit was cleared by the new
> phy_reset(). But the m88e1111s_config() does the soft-reset already,
> there is no need to reset twice. The extra phy_reset() should be
> removed.
>
> Signed-off-by: Thomas Chou <thomas at wytron.com.tw>
> ---
>   drivers/net/phy/marvell.c | 2 --
>   1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
> index eab1558..5badfac 100644
> --- a/drivers/net/phy/marvell.c
> +++ b/drivers/net/phy/marvell.c
> @@ -271,8 +271,6 @@ static int m88e1111s_config(struct phy_device *phydev)
>
>   	genphy_config_aneg(phydev);
>
> -	phy_reset(phydev);
> -
>   	return 0;
>   }
>
>

I've also stumbled over this problem on some boards equipped with the
Marvell PHY. Could you please take a look at these patches instead:

http://patchwork.ozlabs.org/patch/581316/
http://patchwork.ozlabs.org/patch/581317/

Do they work for you?

Joe, could you please make sure to push these for this release? As its
a real bugfix.

Thanks,
Stefan



More information about the U-Boot mailing list