diff mbox series

net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop

Message ID 20200925124439.19946-1-ikhoronz@cisco.com
State Accepted
Delegated to: David Miller
Headers show
Series net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop | expand

Commit Message

Ivan Khoronzhuk Sept. 25, 2020, 12:44 p.m. UTC
To start also "phy state machine", with UP state as it should be,
the phy_start() has to be used, in another case machine even is not
triggered. After this change negotiation is supposed to be triggered
by SM workqueue.

It's not correct usage, but it appears after the following patch,
so add it as a fix.

Fixes: 74a992b3598a ("net: phy: add phy_check_link_status")
Signed-off-by: Ivan Khoronzhuk <ikhoronz@cisco.com>
---

Based on net/master

 drivers/net/ethernet/cavium/octeon/octeon_mgmt.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Andrew Lunn Sept. 25, 2020, 4:30 p.m. UTC | #1
On Fri, Sep 25, 2020 at 03:44:39PM +0300, Ivan Khoronzhuk wrote:
> To start also "phy state machine", with UP state as it should be,
> the phy_start() has to be used, in another case machine even is not
> triggered. After this change negotiation is supposed to be triggered
> by SM workqueue.
> 
> It's not correct usage, but it appears after the following patch,
> so add it as a fix.
> 
> Fixes: 74a992b3598a ("net: phy: add phy_check_link_status")
> Signed-off-by: Ivan Khoronzhuk <ikhoronz@cisco.com>
> ---
> 
> Based on net/master

Hi Ivan

In the future, please make the patch subject [PATCH net] to make it
clear which tree it is for.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
David Miller Sept. 25, 2020, 11:55 p.m. UTC | #2
From: Ivan Khoronzhuk <ivan.khoronzhuk@gmail.com>
Date: Fri, 25 Sep 2020 15:44:39 +0300

> To start also "phy state machine", with UP state as it should be,
> the phy_start() has to be used, in another case machine even is not
> triggered. After this change negotiation is supposed to be triggered
> by SM workqueue.
> 
> It's not correct usage, but it appears after the following patch,
> so add it as a fix.
> 
> Fixes: 74a992b3598a ("net: phy: add phy_check_link_status")
> Signed-off-by: Ivan Khoronzhuk <ikhoronz@cisco.com>

Applied and queued up for -stable, thanks.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
index 3e17ce0d2314..6cb2162a75d4 100644
--- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
@@ -1219,7 +1219,7 @@  static int octeon_mgmt_open(struct net_device *netdev)
 	 */
 	if (netdev->phydev) {
 		netif_carrier_off(netdev);
-		phy_start_aneg(netdev->phydev);
+		phy_start(netdev->phydev);
 	}
 
 	netif_wake_queue(netdev);
@@ -1247,8 +1247,10 @@  static int octeon_mgmt_stop(struct net_device *netdev)
 	napi_disable(&p->napi);
 	netif_stop_queue(netdev);
 
-	if (netdev->phydev)
+	if (netdev->phydev) {
+		phy_stop(netdev->phydev);
 		phy_disconnect(netdev->phydev);
+	}
 
 	netif_carrier_off(netdev);