From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 78513A057C; Thu, 26 Mar 2020 08:15:38 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 265971C0AB; Thu, 26 Mar 2020 08:15:24 +0100 (CET) Received: from mail.chinasoftinc.com (unknown [114.113.233.8]) by dpdk.org (Postfix) with ESMTP id 926504CA7 for ; Thu, 26 Mar 2020 08:15:20 +0100 (CET) Received: from localhost.localdomain (114.119.4.74) by INCCAS002.ito.icss (10.168.0.60) with Microsoft SMTP Server id 14.3.487.0; Thu, 26 Mar 2020 15:15:01 +0800 From: "Wei Hu (Xavier)" To: Date: Thu, 26 Mar 2020 15:14:32 +0800 Message-ID: <20200326071433.65694-4-huwei013@chinasoftinc.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200326071433.65694-1-huwei013@chinasoftinc.com> References: <20200326071433.65694-1-huwei013@chinasoftinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [114.119.4.74] Subject: [dpdk-dev] [PATCH 3/4] net/hns3: fix mailbox opcode data type X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: "Min Hu (Connor)" The mailbox opcode is defined as one byte in datasheet which is not compatible with that in the current hns3 PMD driver. This patch fixes the data type of the local variable for mailbox opcode in driver, changing from uint16_t to uint8_t. Fixes: 463e748964f5 ("net/hns3: support mailbox") Cc: stable@dpdk.org Signed-off-by: Min Hu (Connor) Signed-off-by: Wei Hu (Xavier) Signed-off-by: Chengwen Feng --- drivers/net/hns3/hns3_mbx.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c index b03a3d6a1..34c8c688f 100644 --- a/drivers/net/hns3/hns3_mbx.c +++ b/drivers/net/hns3/hns3_mbx.c @@ -219,6 +219,7 @@ hns3_mbx_handler(struct hns3_hw *hw) struct hns3_mac *mac = &hw->mac; enum hns3_reset_level reset_level; uint16_t *msg_q; + uint8_t opcode; uint32_t tail; tail = hw->arq.tail; @@ -227,7 +228,8 @@ hns3_mbx_handler(struct hns3_hw *hw) while (tail != hw->arq.head) { msg_q = hw->arq.msg_q[hw->arq.head]; - switch (msg_q[0]) { + opcode = msg_q[0] & 0xff; + switch (opcode) { case HNS3_MBX_LINK_STAT_CHANGE: memcpy(&mac->link_speed, &msg_q[2], sizeof(mac->link_speed)); @@ -249,7 +251,7 @@ hns3_mbx_handler(struct hns3_hw *hw) break; default: hns3_err(hw, "Fetched unsupported(%d) message from arq", - msg_q[0]); + opcode); break; } @@ -348,6 +350,7 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw) struct hns3_cmd_desc *desc; uint32_t msg_data; uint16_t *msg_q; + uint8_t opcode; uint16_t flag; uint8_t *temp; int i; @@ -358,12 +361,13 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw) desc = &crq->desc[crq->next_to_use]; req = (struct hns3_mbx_pf_to_vf_cmd *)desc->data; + opcode = req->msg[0] & 0xff; flag = rte_le_to_cpu_16(crq->desc[crq->next_to_use].flag); if (unlikely(!hns3_get_bit(flag, HNS3_CMDQ_RX_OUTVLD_B))) { hns3_warn(hw, "dropped invalid mailbox message, code = %d", - req->msg[0]); + opcode); /* dropping/not processing this invalid message */ crq->desc[crq->next_to_use].flag = 0; @@ -371,7 +375,7 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw) continue; } - switch (req->msg[0]) { + switch (opcode) { case HNS3_MBX_PF_VF_RESP: resp->resp_status = hns3_resp_to_errno(req->msg[3]); -- 2.23.0