OSDN Git Service

net: hns3: Fix to support autoneg only for port attached with phy
authorFuyun Liang <liangfuyun1@huawei.com>
Tue, 1 May 2018 18:56:02 +0000 (19:56 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 May 2018 19:08:37 +0000 (15:08 -0400)
This patch adds a check to support autoneg(ethtool -A) only when PHY
is attached with the port.

Fixes: e2cb1dec9779 ("net: hns3: Add HNS3 VF HCL(Hardware Compatibility
Layer) Support")
Signed-off-by: Fuyun Liang <liangfuyun1@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index cc09713..a4e9991 100644 (file)
@@ -5169,12 +5169,6 @@ static int hclge_set_pauseparam(struct hnae3_handle *handle, u32 auto_neg,
        struct phy_device *phydev = hdev->hw.mac.phydev;
        u32 fc_autoneg;
 
-       /* Only support flow control negotiation for netdev with
-        * phy attached for now.
-        */
-       if (!phydev)
-               return -EOPNOTSUPP;
-
        fc_autoneg = hclge_get_autoneg(handle);
        if (auto_neg != fc_autoneg) {
                dev_info(&hdev->pdev->dev,
@@ -5193,6 +5187,12 @@ static int hclge_set_pauseparam(struct hnae3_handle *handle, u32 auto_neg,
        if (!fc_autoneg)
                return hclge_cfg_pauseparam(hdev, rx_en, tx_en);
 
+       /* Only support flow control negotiation for netdev with
+        * phy attached for now.
+        */
+       if (!phydev)
+               return -EOPNOTSUPP;
+
        return phy_start_aneg(phydev);
 }