net: hns3: restore the MAC autoneg state after reset
authorJian Shen <shenjian15@huawei.com>
Thu, 20 Jun 2019 08:52:38 +0000 (16:52 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Jun 2019 15:59:01 +0000 (11:59 -0400)
When doing global reset, the MAC autoneg state of fibre
port is set to default, which may cause user configuration
lost. This patch fixes it by restore the MAC autoneg state
after reset.

Fixes: 22f48e24a23d ("net: hns3: add autoneg and change speed support for fibre port")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 6e978375c4396bf6441fd014331af5eadbc27e5d..0772ca176d93eb454969f3fcc736b3d60d298623 100644 (file)
@@ -2400,6 +2400,15 @@ static int hclge_mac_init(struct hclge_dev *hdev)
                return ret;
        }
 
+       if (hdev->hw.mac.support_autoneg) {
+               ret = hclge_set_autoneg_en(hdev, hdev->hw.mac.autoneg);
+               if (ret) {
+                       dev_err(&hdev->pdev->dev,
+                               "Config mac autoneg fail ret=%d\n", ret);
+                       return ret;
+               }
+       }
+
        mac->link = 0;
 
        if (mac->user_fec_mode & BIT(HNAE3_FEC_USER_DEF)) {