From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH v3 05/30] ixgbe/base: fix checksum error of checking PHY token Date: Tue, 21 Jun 2016 15:35:49 +0100 Message-ID: <20160621143549.GA12008@bricha3-MOBL3> References: <1465887596-10346-1-git-send-email-beilei.xing@intel.com> <1465977220-3970-1-git-send-email-beilei.xing@intel.com> <1465977220-3970-6-git-send-email-beilei.xing@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: wenzhuo.lu@intel.com, dev@dpdk.org To: Beilei Xing Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id D1212B44C for ; Tue, 21 Jun 2016 16:35:52 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1465977220-3970-6-git-send-email-beilei.xing@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jun 15, 2016 at 03:53:15PM +0800, Beilei Xing wrote: > This patch sets the Host Interface PHY token command > checksum to the checksum default of 0xFF, therefore > the checksum is not checked by the firmware. Otherwise > the command fails with a checksum failed error. > I think this needs a fuller explanation. Why does the command need a checksum, and why is the checksum failing? I see in patch 14 makes a similar fix in the same file, so I think perhaps those two patches should be merged - especially since patch 14 just claims to fix firmware commands generically. /Bruce > Fixes: 86b8fb293fdf ("ixgbe/base: add sw-firmware sync for resource sharing on X550em_a") > > Signed-off-by: Beilei Xing > --- > drivers/net/ixgbe/base/ixgbe_x550.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/ixgbe/base/ixgbe_x550.c b/drivers/net/ixgbe/base/ixgbe_x550.c > index 8a5b1dc..36df3c3 100644 > --- a/drivers/net/ixgbe/base/ixgbe_x550.c > +++ b/drivers/net/ixgbe/base/ixgbe_x550.c > @@ -1041,6 +1041,7 @@ s32 ixgbe_get_phy_token(struct ixgbe_hw *hw) > token_cmd.hdr.cmd = FW_PHY_TOKEN_REQ_CMD; > token_cmd.hdr.buf_len = FW_PHY_TOKEN_REQ_LEN; > token_cmd.hdr.cmd_or_resp.cmd_resv = 0; > + token_cmd.hdr.checksum = FW_DEFAULT_CHECKSUM; > token_cmd.port_number = hw->bus.lan_id; > token_cmd.command_type = FW_PHY_TOKEN_REQ; > token_cmd.pad = 0; > @@ -1071,6 +1072,7 @@ s32 ixgbe_put_phy_token(struct ixgbe_hw *hw) > token_cmd.hdr.cmd = FW_PHY_TOKEN_REQ_CMD; > token_cmd.hdr.buf_len = FW_PHY_TOKEN_REQ_LEN; > token_cmd.hdr.cmd_or_resp.cmd_resv = 0; > + token_cmd.hdr.checksum = FW_DEFAULT_CHECKSUM; > token_cmd.port_number = hw->bus.lan_id; > token_cmd.command_type = FW_PHY_TOKEN_REL; > token_cmd.pad = 0; > -- > 2.5.0 >