2019-12-05 09:42:05

by Yousaf Kaukab

[permalink] [raw]
Subject: [PATCH net v2] net: thunderx: start phy before starting autonegotiation

Since commit 2b3e88ea6528 ("net: phy: improve phy state checking")
phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
before calling phy_start_aneg() during probe so that autonegotiation
is initiated.

As phy_start() takes care of calling phy_start_aneg(), drop the explicit
call to phy_start_aneg().

Network fails without this patch on Octeon TX.

Fixes: 2b3e88ea6528 ("net: phy: improve phy state checking")
Signed-off-by: Mian Yousaf Kaukab <[email protected]>
---
v2:
-Add fixes tag and net tree as suggested by Andrew Lunn
v1:
-Remove call to phy_start_aneg() as suggested by Andrew Lunn
-Fix reference to patch in change log as suggested by Sergei Shtylyov

drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 1e09fdb63c4f..c4f6ec0cd183 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -1115,7 +1115,7 @@ static int bgx_lmac_enable(struct bgx *bgx, u8 lmacid)
phy_interface_mode(lmac->lmac_type)))
return -ENODEV;

- phy_start_aneg(lmac->phydev);
+ phy_start(lmac->phydev);
return 0;
}

--
2.16.4


2019-12-05 13:01:05

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH net v2] net: thunderx: start phy before starting autonegotiation

On Thu, Dec 05, 2019 at 10:41:16AM +0100, Mian Yousaf Kaukab wrote:
> Since commit 2b3e88ea6528 ("net: phy: improve phy state checking")
> phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
> before calling phy_start_aneg() during probe so that autonegotiation
> is initiated.
>
> As phy_start() takes care of calling phy_start_aneg(), drop the explicit
> call to phy_start_aneg().
>
> Network fails without this patch on Octeon TX.
>
> Fixes: 2b3e88ea6528 ("net: phy: improve phy state checking")
> Signed-off-by: Mian Yousaf Kaukab <[email protected]>

Reviewed-by: Andrew Lunn <[email protected]>

Andrew

2019-12-05 20:11:55

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net v2] net: thunderx: start phy before starting autonegotiation

From: Mian Yousaf Kaukab <[email protected]>
Date: Thu, 5 Dec 2019 10:41:16 +0100

> Since commit 2b3e88ea6528 ("net: phy: improve phy state checking")
> phy_start_aneg() expects phy state to be >= PHY_UP. Call phy_start()
> before calling phy_start_aneg() during probe so that autonegotiation
> is initiated.
>
> As phy_start() takes care of calling phy_start_aneg(), drop the explicit
> call to phy_start_aneg().
>
> Network fails without this patch on Octeon TX.
>
> Fixes: 2b3e88ea6528 ("net: phy: improve phy state checking")
> Signed-off-by: Mian Yousaf Kaukab <[email protected]>

Applied and queued up for -stable, thanks.