net: hns3: fix for not returning problem in get_link_ksettings when phy exists

When phy exists, phy_ethtool_ksettings_get function is enough to get the
link ksettings. If the phy exists, get_link_ksettings function can return
directly after phy_ethtool_ksettings_get is called.

Signed-off-by: Fuyun Liang <liangfuyun1@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Fuyun Liang
2018-03-21 15:49:30 +08:00
committed by David S. Miller
parent 4a152de95d
commit 1931dc2083

View File

@@ -569,9 +569,13 @@ static int hns3_get_link_ksettings(struct net_device *netdev,
return -EOPNOTSUPP;
/* 1.auto_neg & speed & duplex from cmd */
if (netdev->phydev)
if (netdev->phydev) {
phy_ethtool_ksettings_get(netdev->phydev, cmd);
else if (h->ae_algo->ops->get_ksettings_an_result)
return 0;
}
if (h->ae_algo->ops->get_ksettings_an_result)
h->ae_algo->ops->get_ksettings_an_result(h,
&cmd->base.autoneg,
&cmd->base.speed,