kfree(desc_src);
 }
 
+#define HCLGE_CMD_NCL_CONFIG_BD_NUM    5
+
+static void hclge_ncl_config_data_print(struct hclge_dev *hdev,
+                                       struct hclge_desc *desc, int *offset,
+                                       int *length)
+{
+#define HCLGE_CMD_DATA_NUM             6
+
+       int i;
+       int j;
+
+       for (i = 0; i < HCLGE_CMD_NCL_CONFIG_BD_NUM; i++) {
+               for (j = 0; j < HCLGE_CMD_DATA_NUM; j++) {
+                       if (i == 0 && j == 0)
+                               continue;
+
+                       dev_info(&hdev->pdev->dev, "0x%04x | 0x%08x\n",
+                                *offset,
+                                le32_to_cpu(desc[i].data[j]));
+                       *offset += sizeof(u32);
+                       *length -= sizeof(u32);
+                       if (*length <= 0)
+                               return;
+               }
+       }
+}
+
 /* hclge_dbg_dump_ncl_config: print specified range of NCL_CONFIG file
  * @hdev: pointer to struct hclge_dev
  * @cmd_buf: string that contains offset and length
 {
 #define HCLGE_MAX_NCL_CONFIG_OFFSET    4096
 #define HCLGE_MAX_NCL_CONFIG_LENGTH    (20 + 24 * 4)
-#define HCLGE_CMD_DATA_NUM             6
 
-       struct hclge_desc desc[5];
-       u32 byte_offset;
-       int bd_num = 5;
+       struct hclge_desc desc[HCLGE_CMD_NCL_CONFIG_BD_NUM];
+       int bd_num = HCLGE_CMD_NCL_CONFIG_BD_NUM;
        int offset;
        int length;
        int data0;
        int ret;
-       int i;
-       int j;
 
        ret = sscanf(cmd_buf, "%x %x", &offset, &length);
        if (ret != 2 || offset >= HCLGE_MAX_NCL_CONFIG_OFFSET ||
                if (ret)
                        return;
 
-               byte_offset = offset;
-               for (i = 0; i < bd_num; i++) {
-                       for (j = 0; j < HCLGE_CMD_DATA_NUM; j++) {
-                               if (i == 0 && j == 0)
-                                       continue;
-
-                               dev_info(&hdev->pdev->dev, "0x%04x | 0x%08x\n",
-                                        byte_offset,
-                                        le32_to_cpu(desc[i].data[j]));
-                               byte_offset += sizeof(u32);
-                               length -= sizeof(u32);
-                               if (length <= 0)
-                                       return;
-                       }
-               }
-               offset += HCLGE_MAX_NCL_CONFIG_LENGTH;
+               hclge_ncl_config_data_print(hdev, desc, &offset, &length);
        }
 }