]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
net: hns3: Fix for loopback selftest failed problem
[linux.git] / drivers / net / ethernet / hisilicon / hns3 / hns3_ethtool.c
index f70ee6910ee27a436575734b068a2ee3599a78ae..14797b99ae5bb5432a1a8852c76f632509321152 100644 (file)
@@ -100,41 +100,26 @@ static int hns3_lp_up(struct net_device *ndev, enum hnae3_loop loop_mode)
        struct hnae3_handle *h = hns3_get_handle(ndev);
        int ret;
 
-       if (!h->ae_algo->ops->start)
-               return -EOPNOTSUPP;
-
        ret = hns3_nic_reset_all_ring(h);
        if (ret)
                return ret;
 
-       ret = h->ae_algo->ops->start(h);
-       if (ret) {
-               netdev_err(ndev,
-                          "hns3_lb_up ae start return error: %d\n", ret);
-               return ret;
-       }
-
        ret = hns3_lp_setup(ndev, loop_mode, true);
        usleep_range(10000, 20000);
 
-       return ret;
+       return 0;
 }
 
 static int hns3_lp_down(struct net_device *ndev, enum hnae3_loop loop_mode)
 {
-       struct hnae3_handle *h = hns3_get_handle(ndev);
        int ret;
 
-       if (!h->ae_algo->ops->stop)
-               return -EOPNOTSUPP;
-
        ret = hns3_lp_setup(ndev, loop_mode, false);
        if (ret) {
                netdev_err(ndev, "lb_setup return error: %d\n", ret);
                return ret;
        }
 
-       h->ae_algo->ops->stop(h);
        usleep_range(10000, 20000);
 
        return 0;