net: hns3: use the correct interface to stop|open port
authorPeng Li <lipeng321@huawei.com>
Wed, 30 Jan 2019 20:55:43 +0000 (04:55 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Jan 2019 22:50:03 +0000 (14:50 -0800)
dev_close() stop the netdev and the service base on the netdev
will stop. But ndev->netdev_ops->ndo_stop() may only stop HW
and stack queue, the service base on the netdev can still work.

Fixes: 5668abda0931 ("net: hns3: add support for set_ringparam")
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/hns3_ethtool.c

index 76ef06a..63f5f56 100644 (file)
@@ -805,7 +805,7 @@ static int hns3_set_ringparam(struct net_device *ndev,
                    old_desc_num, new_desc_num);
 
        if (if_running)
-               dev_close(ndev);
+               ndev->netdev_ops->ndo_stop(ndev);
 
        ret = hns3_uninit_all_ring(priv);
        if (ret)
@@ -822,7 +822,7 @@ static int hns3_set_ringparam(struct net_device *ndev,
        }
 
        if (if_running)
-               ret = dev_open(ndev, NULL);
+               ret = ndev->netdev_ops->ndo_open(ndev);
 
        return ret;
 }