On Mon, Oct 15, 2018 at 05:00:04PM +0200, Clément Leger wrote:
> Normally, phy_update_status is in charge of reporting a change in link
> status when phy is updated. When using fixed-link, speed and duplex are
> initialized directly after registering the phy and there is no driver.
> Hence when phy_update_status is called, the check for new values fails
> and returns directly. Since update_link call is mandatory for some
> network devices to work, call it directly when using fixed link in
> phy_device_attach to force update of link.
>
> Signed-off-by: Clement Leger
> ---
> drivers/net/phy/phy.c | 4
> 1 file changed, 4 insertions(+)
Indeed, sounds logical. Applied, thanks
Sascha
>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 42dcad906..63f249fcf 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -398,6 +398,10 @@ static int phy_device_attach(struct phy_device *phy,
> struct eth_device *edev,
>
> phy->adjust_link = adjust_link;
>
> + /* If the phy is a fixed-link, then call adjust_link directly */
> + if (!phy->bus && adjust_link)
> + adjust_link(edev);
> +
> return 0;
> }
>
> --
> 2.15.0.276.g89ea799
>
> ___
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- |
___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox