net: hns3: optimized the judgment of the input parameters of dump ncl config
authorYufeng Mo <moyufeng@huawei.com>
Sat, 9 May 2020 09:27:40 +0000 (17:27 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 11 May 2020 02:43:22 +0000 (19:43 -0700)
This patch optimizes the judgment of the input parameters of dump ncl
config by checking the number and value of the input parameters apart.
It's clearer and more reasonable.

Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c

index 6cfa825..48c115c 100644 (file)
@@ -1258,6 +1258,7 @@ static void hclge_dbg_dump_ncl_config(struct hclge_dev *hdev,
 {
 #define HCLGE_MAX_NCL_CONFIG_OFFSET    4096
 #define HCLGE_NCL_CONFIG_LENGTH_IN_EACH_CMD    (20 + 24 * 4)
+#define HCLGE_NCL_CONFIG_PARAM_NUM     2
 
        struct hclge_desc desc[HCLGE_CMD_NCL_CONFIG_BD_NUM];
        int bd_num = HCLGE_CMD_NCL_CONFIG_BD_NUM;
@@ -1267,13 +1268,17 @@ static void hclge_dbg_dump_ncl_config(struct hclge_dev *hdev,
        int ret;
 
        ret = sscanf(cmd_buf, "%x %x", &offset, &length);
-       if (ret != 2 || offset >= HCLGE_MAX_NCL_CONFIG_OFFSET ||
-           length > HCLGE_MAX_NCL_CONFIG_OFFSET - offset) {
-               dev_err(&hdev->pdev->dev, "Invalid offset or length.\n");
+       if (ret != HCLGE_NCL_CONFIG_PARAM_NUM) {
+               dev_err(&hdev->pdev->dev,
+                       "Too few parameters, num = %d.\n", ret);
                return;
        }
-       if (offset < 0 || length <= 0) {
-               dev_err(&hdev->pdev->dev, "Non-positive offset or length.\n");
+
+       if (offset < 0 || offset >= HCLGE_MAX_NCL_CONFIG_OFFSET ||
+           length <= 0 || length > HCLGE_MAX_NCL_CONFIG_OFFSET - offset) {
+               dev_err(&hdev->pdev->dev,
+                       "Invalid input, offset = %d, length = %d.\n",
+                       offset, length);
                return;
        }