From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 46BDCA034F for ; Wed, 11 Aug 2021 11:52:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4262140042; Wed, 11 Aug 2021 11:52:07 +0200 (CEST) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by mails.dpdk.org (Postfix) with ESMTP id 1754D40042 for ; Wed, 11 Aug 2021 11:52:06 +0200 (CEST) Received: by mail-lf1-f51.google.com with SMTP id d4so4407051lfk.9 for ; Wed, 11 Aug 2021 02:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mvXiQZh/wRpNwZMZSnPlzZtnUWASBxhTe3/cqe5tlq0=; b=to+ULuJEuUajzdM3cop/h30+TsBqm79h6LhIHNFSfgQ8pOlgDShJdDlb55yHMJKUu9 qJge18UoDavNViKLE3LkafNFegTSZduQ4Xy0Xx00yR1FnEhQJr2PLw3T2MddH61m2vkt NJRcv1fJ5X1zai0KwMEeoOi4Q6dXLNHctqQ6rk4HVKFP7Pp30RC4W0BwkQziXlYLMMFp VtSzuUzsDS1raZukkdhKyeqAUg0Fu2JXbZBwxIKUAUf0YA3/Z8x0gvVkdKFHtTdCtqNM soyRn/7MK3VIySCP40WP1lTQf7HjGHs7kMKSC5uB4E8SNyYo2rG5yEBZlo9N5XLUGyfj d/6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mvXiQZh/wRpNwZMZSnPlzZtnUWASBxhTe3/cqe5tlq0=; b=QqCcRgoCGwMWGzmQCoVnEaxnQFn9TLPgagKWJbyhIKrnusctlHUXe8WE0mQrq77sME n7sJN5108jxR892AY4D5pSWjJPIWVrfjzeT91rUTObUYIxOSaeoSVzEYbGrANADjUW97 ZR1WMhXVACPewJqCfZBGERtC0HcqSvQA8Pp4JA8gZryOa7hgI03477IZoMzcCEV9TqT7 vL24Tz5PMEuoVT97cJerhfPPjFrQiuBy5LDBiRfHmPpHL/bji6+UjVLD18pw7SSoJFA/ Ogfnomn0tJT0oCVLtwWzGUNA8XlQTVJYIRlvXk0jnmyEQjs9hwt+zd+LpEkvSix1neM5 +Xsg== X-Gm-Message-State: AOAM530wo3kSd96KmU2BO2U1FXT9Eow+hQGKZ8sT5KR448CsWCCDEUM5 u6cECMl1X0BP1mpNTnrSil4Npg== X-Google-Smtp-Source: ABdhPJwR2Q5Y+n0meZaE30cCbVHMfRu+cfkEbeS1iJh3ZwKwV62nRCvMRKdAAbwt7KpVJ8fTj8VM5A== X-Received: by 2002:ac2:559c:: with SMTP id v28mr3139645lfg.133.1628675525707; Wed, 11 Aug 2021 02:52:05 -0700 (PDT) Received: from DESKTOP-U5LNN3J.localdomain ([83.142.187.84]) by smtp.gmail.com with ESMTPSA id r193sm2295814lff.293.2021.08.11.02.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Aug 2021 02:52:05 -0700 (PDT) From: Michal Krawczyk To: christian.ehrhardt@canonical.com, stable@dpdk.org Cc: Michal Krawczyk , Shai Brandes , Shay Agroskin Date: Wed, 11 Aug 2021 11:51:45 +0200 Message-Id: <20210811095145.1846-2-mk@semihalf.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210811095145.1846-1-mk@semihalf.com> References: <20210811095145.1846-1-mk@semihalf.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH 19.11 2/2] net/ena: trigger reset on Tx prepare failure X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" [ upstream commit b57e1053813b369d20bb2a177081a4c8ca63cede ] If the prepare function failed, then it means the descriptors are in the invalid state. This condition now triggers the reset, which should be further handled by the application. To notify the application about prepare function failure, the error log was added. In general, it should never fail in normal conditions, as the Tx function checks for the available space in the Tx ring before the preparation even starts. Fixes: 2081d5e2e92d ("net/ena: add reset routine") Cc: stable@dpdk.org Signed-off-by: Michal Krawczyk Reviewed-by: Shai Brandes Reviewed-by: Shay Agroskin --- drivers/net/ena/ena_ethdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c index 6c9a2aa1a9..408e127511 100644 --- a/drivers/net/ena/ena_ethdev.c +++ b/drivers/net/ena/ena_ethdev.c @@ -2359,7 +2359,12 @@ static uint16_t eth_ena_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, rc = ena_com_prepare_tx(tx_ring->ena_com_io_sq, &ena_tx_ctx, &nb_hw_desc); if (unlikely(rc)) { + PMD_DRV_LOG(ERR, + "Failed to prepare Tx buffers, rc: %d\n", rc); ++tx_ring->tx_stats.prepare_ctx_err; + tx_ring->adapter->reset_reason = + ENA_REGS_RESET_DRIVER_INVALID_STATE; + tx_ring->adapter->trigger_reset = true; break; } tx_info->tx_descs = nb_hw_desc; -- 2.25.1