Commit 2879d839 authored by Fengyan Mu's avatar Fengyan Mu Committed by mufengyan
Browse files

HNS3: fix up magic numbers and impertinent judge position

driver inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I99GLS


CVE: NA

-----------------------------------------------------------

Fix up magic numbers problems in ip table function, due to
the number 1 has meaning as not found.
Move assignment of value behind the judge, which leads to
return a error number.

Signed-off-by: default avatarFengyan Mu <mufengyan@hisilicon.com>
parent 96786530
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -28,11 +28,10 @@ static int hclge_init_udma_base_info(struct hclge_vport *vport)
	struct hnae3_handle *nic = &vport->nic;
	struct hclge_dev *hdev = vport->back;

	udma->udmainfo.num_vectors = vport->back->num_udma_msi;

	if (hdev->num_msi < hdev->num_nic_msi + hdev->num_udma_msi)
		return -EINVAL;

	udma->udmainfo.num_vectors = hdev->num_udma_msi;
	udma->udmainfo.base_vector = hdev->num_nic_msi;

	udma->udmainfo.netdev = nic->kinfo.netdev;
+3 −3
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ static int hclge_unic_get_ip_tbl_cmd_status(struct hclge_vport *vport,
	}

	if (op == HCLGE_IP_TBL_ADD) {
		if (!resp_code || resp_code == 1)
		if (!resp_code || resp_code == HCLGE_UNIC_IP_TBL_MISS)
			return 0;
		else if (resp_code == HCLGE_ADD_IP_TBL_OVERFLOW)
			return -ENOSPC;
@@ -53,7 +53,7 @@ static int hclge_unic_get_ip_tbl_cmd_status(struct hclge_vport *vport,
	} else if (op == HCLGE_IP_TBL_REMOVE) {
		if (!resp_code) {
			return 0;
		} else if (resp_code == 1) {
		} else if (resp_code == HCLGE_UNIC_IP_TBL_MISS) {
			dev_dbg(&hdev->pdev->dev,
				"remove ip addr failed for miss.\n");
			return -ENOENT;
@@ -66,7 +66,7 @@ static int hclge_unic_get_ip_tbl_cmd_status(struct hclge_vport *vport,
	} else if (op == HCLGE_IP_TBL_LKUP) {
		if (!resp_code) {
			return 0;
		} else if (resp_code == 1) {
		} else if (resp_code == HCLGE_UNIC_IP_TBL_MISS) {
			dev_dbg(&hdev->pdev->dev,
				"lookup ip addr failed for miss.\n");
			return -ENOENT;
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
struct hclge_dev;

#define HCLGE_UNIC_IP_ADDR_NOTSET	255
#define HCLGE_UNIC_IP_TBL_MISS	1

int hclge_unic_init_iptbl_info(struct hclge_dev *hdev);
void hclge_unic_reset_iptbl_space(struct hclge_dev *hdev);
+1 −2
Original line number Diff line number Diff line
@@ -41,12 +41,11 @@ static int hclgevf_init_udma_base_info(struct hclgevf_dev *hdev)
	struct hnae3_handle *udma = &hdev->udma;
	struct hnae3_handle *nic = &hdev->nic;

	udma->udmainfo.num_vectors = hdev->num_udma_msix;

	if (hdev->num_msi_left < udma->udmainfo.num_vectors ||
	    hdev->num_msi_left == 0)
		return -EINVAL;

	udma->udmainfo.num_vectors = hdev->num_udma_msix;
	udma->udmainfo.base_vector = hdev->roce_base_msix_offset;

	udma->udmainfo.netdev = nic->kinfo.netdev;