From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from netronome.com (host-79-78-33-110.static.as9105.net [79.78.33.110]) by dpdk.org (Postfix) with ESMTP id AFA771075 for ; Tue, 21 Mar 2017 11:43:22 +0100 (CET) Received: from netronome.com (localhost [127.0.0.1]) by netronome.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id v2LAhLON015749 for ; Tue, 21 Mar 2017 10:43:21 GMT Received: (from alucero@localhost) by netronome.com (8.14.4/8.14.4/Submit) id v2LAhLbd015748 for dev@dpdk.org; Tue, 21 Mar 2017 10:43:21 GMT From: Alejandro Lucero To: dev@dpdk.org Date: Tue, 21 Mar 2017 10:43:19 +0000 Message-Id: <1490093001-15710-1-git-send-email-alejandro.lucero@netronome.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH 1/3] nfp: clean tx descriptor flags 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: , X-List-Received-Date: Tue, 21 Mar 2017 10:43:22 -0000 When LSO, not doing this can led to firmware disruption. It does not show as error because TCP ends up sending data again later on. Fixes: 9ba3d0ae2090 (\"net/nfp: add TSO support\") Signed-off-by: Alejandro Lucero --- drivers/net/nfp/nfp_net.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index f8ed976..9d9420d 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1660,16 +1660,22 @@ static void nfp_net_read_mac(struct nfp_net_hw *hw) struct nfp_net_hw *hw = txq->hw; if (!(hw->cap & NFP_NET_CFG_CTRL_LSO)) - return; + goto clean_txd; ol_flags = mb->ol_flags; if (!(ol_flags & PKT_TX_TCP_SEG)) - return; + goto clean_txd; txd->l4_offset = mb->l2_len + mb->l3_len + mb->l4_len; txd->lso = rte_cpu_to_le_16(mb->tso_segsz); - txd->flags |= PCIE_DESC_TX_LSO; + txd->flags = PCIE_DESC_TX_LSO; + return; + +clean_txd: + txd->flags = 0; + txd->l4_offset = 0; + txd->lso = 0; } /* nfp_net_tx_cksum - Set TX CSUM offload flags in TX descriptor */ -- 1.9.1