Commit 4663ff60 authored by Ivan Khoronzhuk's avatar Ivan Khoronzhuk Committed by David S. Miller

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

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: 74a992b3 ("net: phy: add phy_check_link_status")
Signed-off-by: default avatarIvan Khoronzhuk <ikhoronz@cisco.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ac322f86
...@@ -1219,7 +1219,7 @@ static int octeon_mgmt_open(struct net_device *netdev) ...@@ -1219,7 +1219,7 @@ static int octeon_mgmt_open(struct net_device *netdev)
*/ */
if (netdev->phydev) { if (netdev->phydev) {
netif_carrier_off(netdev); netif_carrier_off(netdev);
phy_start_aneg(netdev->phydev); phy_start(netdev->phydev);
} }
netif_wake_queue(netdev); netif_wake_queue(netdev);
...@@ -1247,8 +1247,10 @@ static int octeon_mgmt_stop(struct net_device *netdev) ...@@ -1247,8 +1247,10 @@ static int octeon_mgmt_stop(struct net_device *netdev)
napi_disable(&p->napi); napi_disable(&p->napi);
netif_stop_queue(netdev); netif_stop_queue(netdev);
if (netdev->phydev) if (netdev->phydev) {
phy_stop(netdev->phydev);
phy_disconnect(netdev->phydev); phy_disconnect(netdev->phydev);
}
netif_carrier_off(netdev); netif_carrier_off(netdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment