[dpdk-stable] patch 'net/hns3: fix mailbox opcode data type' has been queued to stable release 19.11.3

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue May 19 15:02:28 CEST 2020


Hi,

FYI, your patch has been queued to stable release 19.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 05/21/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From 2717e6ab2543ad9c53b9eb2e8f5020510eea2d27 Mon Sep 17 00:00:00 2001
From: "Min Hu (Connor)" <humin29 at huawei.com>
Date: Thu, 26 Mar 2020 15:14:32 +0800
Subject: [PATCH] net/hns3: fix mailbox opcode data type

[ upstream commit 7c9f68872d5ca23ba7951f424c646c30211dbb52 ]

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")

Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
---
 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 7087b91c4d..7b5ef9476d 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;
 		}
 
@@ -299,6 +301,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;
@@ -309,12 +312,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;
@@ -322,7 +326,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.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-05-19 14:04:45.121027475 +0100
+++ 0013-net-hns3-fix-mailbox-opcode-data-type.patch	2020-05-19 14:04:44.076645835 +0100
@@ -1,8 +1,10 @@
-From 7c9f68872d5ca23ba7951f424c646c30211dbb52 Mon Sep 17 00:00:00 2001
+From 2717e6ab2543ad9c53b9eb2e8f5020510eea2d27 Mon Sep 17 00:00:00 2001
 From: "Min Hu (Connor)" <humin29 at huawei.com>
 Date: Thu, 26 Mar 2020 15:14:32 +0800
 Subject: [PATCH] net/hns3: fix mailbox opcode data type
 
+[ upstream commit 7c9f68872d5ca23ba7951f424c646c30211dbb52 ]
+
 The mailbox opcode is defined as one byte in datasheet which is not
 compatible with that in the current hns3 PMD driver.
 
@@ -10,7 +12,6 @@
 in driver, changing from uint16_t to uint8_t.
 
 Fixes: 463e748964f5 ("net/hns3: support mailbox")
-Cc: stable at dpdk.org
 
 Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
 Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
@@ -20,7 +21,7 @@
  1 file changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/net/hns3/hns3_mbx.c b/drivers/net/hns3/hns3_mbx.c
-index b03a3d6a17..34c8c688fc 100644
+index 7087b91c4d..7b5ef9476d 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)
@@ -50,7 +51,7 @@
  			break;
  		}
  
-@@ -348,6 +350,7 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
+@@ -299,6 +301,7 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
  	struct hns3_cmd_desc *desc;
  	uint32_t msg_data;
  	uint16_t *msg_q;
@@ -58,7 +59,7 @@
  	uint16_t flag;
  	uint8_t *temp;
  	int i;
-@@ -358,12 +361,13 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
+@@ -309,12 +312,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;
@@ -73,7 +74,7 @@
  
  			/* 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)
+@@ -322,7 +326,7 @@ hns3_dev_handle_mbx_msg(struct hns3_hw *hw)
  			continue;
  		}
  


More information about the stable mailing list