On 08/07/2016 10:24 PM, Mathias Kresin wrote:
> Due to the missing carrier status set, the interface wasn't usable on a
> BTHOMEHUB2B after ip link down and up as it is done in preinit.
> 
> Signed-off-by: Mathias Kresin <d...@kresin.me>
> ---
>  target/linux/generic/files/drivers/net/phy/adm6996.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/target/linux/generic/files/drivers/net/phy/adm6996.c 
> b/target/linux/generic/files/drivers/net/phy/adm6996.c
> index a2ff2b0..7823b8b 100644
> --- a/target/linux/generic/files/drivers/net/phy/adm6996.c
> +++ b/target/linux/generic/files/drivers/net/phy/adm6996.c
> @@ -1052,6 +1052,17 @@ static int adm6996_read_status(struct phy_device 
> *phydev)
>       phydev->speed = SPEED_100;
>       phydev->duplex = DUPLEX_FULL;
>       phydev->link = 1;
> +
> +     if (phydev->link) {

This doesn't look right. You test phydev->link right after it is set to 1,
so the else branch doesn't do anything.

Regards,
Matthias

> +             phydev->state = PHY_RUNNING;
> +             netif_carrier_on(phydev->attached_dev);
> +             phydev->adjust_link(phydev->attached_dev);
> +     } else {
> +             phydev->state = PHY_NOLINK;
> +             netif_carrier_off(phydev->attached_dev);
> +             phydev->adjust_link(phydev->attached_dev);
> +     }
> +
>       return 0;
>  }
>  
> 


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to