net: hns3: fix for ipv6 address loss problem after setting channels
authorFuyun Liang <liangfuyun1@huawei.com>
Sat, 10 Mar 2018 03:29:24 +0000 (11:29 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Mar 2018 02:53:31 +0000 (22:53 -0400)
The function of dev_close and dev_open is just likes ifconfig <netif> down
and ifconfig <netif> up. The ipv6 address will be lost after dev_close and
dev_open are called. This patch uses hns3_nic_net_stop to replace dev_close
and uses hns3_nic_net_open to replace dev_open.

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>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c

index 8113d2236edda1e4ce0682bb1ea4c6f66a14fc3c..4dba97498b639c17cceef0975f4be92a51b108d7 100644 (file)
@@ -3503,7 +3503,7 @@ int hns3_set_channels(struct net_device *netdev,
                return 0;
 
        if (if_running)
-               dev_close(netdev);
+               hns3_nic_net_stop(netdev);
 
        hns3_clear_all_ring(h);
 
@@ -3546,7 +3546,7 @@ int hns3_set_channels(struct net_device *netdev,
 
 open_netdev:
        if (if_running)
-               dev_open(netdev);
+               hns3_nic_net_open(netdev);
 
        return ret;
 }