net: hns: Restart autoneg need return failed when autoneg off
The hns driver of earlier devices, when autoneg off, restart autoneg will return -EINVAL, so make the hns driver for the latest devices do the same. Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>hifive-unleashed-5.1
parent
263c6d75f9
commit
ed29ca8b95
|
@ -1157,16 +1157,18 @@ static int hns_get_regs_len(struct net_device *net_dev)
|
||||||
*/
|
*/
|
||||||
static int hns_nic_nway_reset(struct net_device *netdev)
|
static int hns_nic_nway_reset(struct net_device *netdev)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
|
||||||
struct phy_device *phy = netdev->phydev;
|
struct phy_device *phy = netdev->phydev;
|
||||||
|
|
||||||
if (netif_running(netdev)) {
|
if (!netif_running(netdev))
|
||||||
/* if autoneg is disabled, don't restart auto-negotiation */
|
return 0;
|
||||||
if (phy && phy->autoneg == AUTONEG_ENABLE)
|
|
||||||
ret = genphy_restart_aneg(phy);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
if (!phy)
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
|
if (phy->autoneg != AUTONEG_ENABLE)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return genphy_restart_aneg(phy);
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32
|
static u32
|
||||||
|
|
Loading…
Reference in New Issue