{"id":808237,"url":"http://patchwork.ozlabs.org/api/1.0/patches/808237/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1504186749-8926-7-git-send-email-lipeng321@huawei.com>","date":"2017-08-31T13:39:07","name":"[net-next,6/8] net: hns3: fix bug of reuse command description","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":true,"hash":"fa9586c5ee9aa2d8b32c0aa0c39daf1b8bd101cc","submitter":{"id":71468,"url":"http://patchwork.ozlabs.org/api/1.0/people/71468/?format=json","name":"lipeng (Y)","email":"lipeng321@huawei.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.0/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1504186749-8926-7-git-send-email-lipeng321@huawei.com/mbox/","series":[{"id":823,"url":"http://patchwork.ozlabs.org/api/1.0/series/823/?format=json","date":"2017-08-31T13:39:02","name":"Bug fixes & Code improvements in HNS driver","version":1,"mbox":"http://patchwork.ozlabs.org/series/823/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808237/checks/","tags":{},"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjjT90SfCz9sMN\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 31 Aug 2017 23:12:13 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751516AbdHaNL0 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 31 Aug 2017 09:11:26 -0400","from szxga05-in.huawei.com ([45.249.212.191]:5068 \"EHLO\n\tszxga05-in.huawei.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1750990AbdHaNLY (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 31 Aug 2017 09:11:24 -0400","from 172.30.72.60 (EHLO DGGEMS404-HUB.china.huawei.com)\n\t([172.30.72.60])\n\tby dggrg05-dlp.huawei.com (MOS 4.4.6-GA FastPath queued)\n\twith ESMTP id DGI62426; Thu, 31 Aug 2017 21:11:21 +0800 (CST)","from linux-ioko.site (10.71.200.31) by\n\tDGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP\n\tServer id 14.3.301.0; Thu, 31 Aug 2017 21:11:10 +0800"],"From":"Lipeng <lipeng321@huawei.com>","To":"<davem@davemloft.net>","CC":"<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>,\n\t<linuxarm@huawei.com>, <yisen.zhuang@huawei.com>,\n\t<salil.mehta@huawei.com>, <lipeng321@huawei.com>","Subject":"[PATCH net-next 6/8] net: hns3: fix bug of reuse command description","Date":"Thu, 31 Aug 2017 21:39:07 +0800","Message-ID":"<1504186749-8926-7-git-send-email-lipeng321@huawei.com>","X-Mailer":"git-send-email 1.9.1","In-Reply-To":"<1504186749-8926-1-git-send-email-lipeng321@huawei.com>","References":"<1504186749-8926-1-git-send-email-lipeng321@huawei.com>","MIME-Version":"1.0","Content-Type":"text/plain","X-Originating-IP":"[10.71.200.31]","X-CFilter-Loop":"Reflected","X-Mirapoint-Virus-RAPID-Raw":"score=unknown(0),\n\trefid=str=0001.0A020202.59A80AF9.01EB, ss=1, re=0.000, recu=0.000,\n\treip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0,\n\tso=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32","X-Mirapoint-Loop-Id":"3d38469d1a66757f534c72c8b76c8166","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"When reuse command description, the in/out bit and W/R bit of the\ncommand flag should be both updated. The old code did not update\nin/out bit, this patch fix it.\n\nSigned-off-by: Mingguang Qu <qumingguang@huawei.com>\nSigned-off-by: Lipeng <lipeng321@huawei.com>\n---\n drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c  | 9 +++++++++\n drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h  | 2 +-\n drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 6 +++---\n 3 files changed, 13 insertions(+), 4 deletions(-)","diff":"diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c\nindex 8b511e6..fe2b116 100644\n--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c\n+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c\n@@ -85,6 +85,15 @@ static int hclge_init_cmd_queue(struct hclge_dev *hdev, int ring_type)\n \treturn 0;\n }\n \n+void hclge_cmd_reuse_desc(struct hclge_desc *desc, bool is_read)\n+{\n+\tdesc->flag = cpu_to_le16(HCLGE_CMD_FLAG_NO_INTR | HCLGE_CMD_FLAG_IN);\n+\tif (is_read)\n+\t\tdesc->flag |= cpu_to_le16(HCLGE_CMD_FLAG_WR);\n+\telse\n+\t\tdesc->flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);\n+}\n+\n void hclge_cmd_setup_basic_desc(struct hclge_desc *desc,\n \t\t\t\tenum hclge_opcode_type opcode, bool is_read)\n {\ndiff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h\nindex b841df1..5887418 100644\n--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h\n+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h\n@@ -753,7 +753,7 @@ static inline u32 hclge_read_reg(u8 __iomem *base, u32 reg)\n int hclge_cmd_send(struct hclge_hw *hw, struct hclge_desc *desc, int num);\n void hclge_cmd_setup_basic_desc(struct hclge_desc *desc,\n \t\t\t\tenum hclge_opcode_type opcode, bool is_read);\n-\n+void hclge_cmd_reuse_desc(struct hclge_desc *desc, bool is_read);\n int hclge_cmd_set_promisc_mode(struct hclge_dev *hdev,\n \t\t\t       struct hclge_promisc_param *param);\n \ndiff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\nindex f2ea88f..12be24f 100644\n--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\n+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c\n@@ -3302,11 +3302,11 @@ static int hclge_add_mac_vlan_tbl(struct hclge_vport *vport,\n \t\t\t\t\t\t\t   resp_code,\n \t\t\t\t\t\t\t   HCLGE_MAC_VLAN_ADD);\n \t} else {\n-\t\tmc_desc[0].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);\n+\t\thclge_cmd_reuse_desc(&mc_desc[0], false);\n \t\tmc_desc[0].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT);\n-\t\tmc_desc[1].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);\n+\t\thclge_cmd_reuse_desc(&mc_desc[1], false);\n \t\tmc_desc[1].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT);\n-\t\tmc_desc[2].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_WR);\n+\t\thclge_cmd_reuse_desc(&mc_desc[2], false);\n \t\tmc_desc[2].flag &= cpu_to_le16(~HCLGE_CMD_FLAG_NEXT);\n \t\tmemcpy(mc_desc[0].data, req,\n \t\t       sizeof(struct hclge_mac_vlan_tbl_entry));\n","prefixes":["net-next","6/8"]}