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 404757a..5daa8c7 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);