net/ngbe: fix packet statistics
[dpdk.git] / drivers / net / hns3 / hns3_ethdev.c
index 73bf209..2641b6f 100644 (file)
@@ -2733,6 +2733,10 @@ hns3_get_capability(struct hns3_hw *hw)
        if (ret)
                return ret;
 
+       ret = hns3_query_mac_stats_reg_num(hw);
+       if (ret)
+               return ret;
+
        if (hw->revision < PCI_REVISION_ID_HIP09_A) {
                hns3_set_default_dev_specifications(hw);
                hw->intr.mapping_mode = HNS3_INTR_MAPPING_VEC_RSV_ONE;
@@ -4374,6 +4378,10 @@ hns3_init_hardware(struct hns3_adapter *hns)
        struct hns3_hw *hw = &hns->hw;
        int ret;
 
+       /*
+        * All queue-related HW operations must be performed after the TCAM
+        * table is configured.
+        */
        ret = hns3_map_tqp(hw);
        if (ret) {
                PMD_INIT_LOG(ERR, "Failed to map tqp: %d", ret);
@@ -5543,15 +5551,15 @@ hns3_reinit_dev(struct hns3_adapter *hns)
                return ret;
        }
 
-       ret = hns3_reset_all_tqps(hns);
+       ret = hns3_init_hardware(hns);
        if (ret) {
-               hns3_err(hw, "Failed to reset all queues: %d", ret);
+               hns3_err(hw, "Failed to init hardware: %d", ret);
                return ret;
        }
 
-       ret = hns3_init_hardware(hns);
+       ret = hns3_reset_all_tqps(hns);
        if (ret) {
-               hns3_err(hw, "Failed to init hardware: %d", ret);
+               hns3_err(hw, "Failed to reset all queues: %d", ret);
                return ret;
        }