net: hns3: Refactor mac_init function
authorqumingguang <qumingguang@huawei.com>
Thu, 2 Nov 2017 12:45:16 +0000 (20:45 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Nov 2017 12:28:35 +0000 (21:28 +0900)
It needs initialize mdio in initialization process, but reset process
does not reset mdio, so do not initialize mdio in reset process.
This patch move out the mdio configuration function from the mac_init.
So mac_init can be used both in reset process and initialization process.

Signed-off-by: qumingguang <qumingguang@huawei.com>
Signed-off-by: Lipeng <lipeng321@huawei.com>
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 404757a6792f8f34aeb7eb5ed34a2307d267581d..5daa8c7910104e0546cb64077c8729fd8584d61d 100644 (file)
@@ -2228,13 +2228,6 @@ static int hclge_mac_init(struct hclge_dev *hdev)
 
        mac->link = 0;
 
-       ret = hclge_mac_mdio_config(hdev);
-       if (ret) {
-               dev_warn(&hdev->pdev->dev,
-                        "mdio config fail ret=%d\n", ret);
-               return ret;
-       }
-
        /* Initialize the MTA table work mode */
        hdev->accept_mta_mc     = true;
        hdev->enable_mta        = true;
@@ -4498,6 +4491,13 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev)
                return ret;
        }
 
+       ret = hclge_mac_mdio_config(hdev);
+       if (ret) {
+               dev_warn(&hdev->pdev->dev,
+                        "mdio config fail ret=%d\n", ret);
+               return ret;
+       }
+
        ret = hclge_mac_init(hdev);
        if (ret) {
                dev_err(&pdev->dev, "Mac init error, ret = %d\n", ret);