From patchwork Thu Feb 2 09:21:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawen Wu X-Patchwork-Id: 122902 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 84B5241BAB; Thu, 2 Feb 2023 10:26:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E03CD42D7C; Thu, 2 Feb 2023 10:26:06 +0100 (CET) Received: from smtpbg154.qq.com (smtpbg154.qq.com [15.184.224.54]) by mails.dpdk.org (Postfix) with ESMTP id BABCD42D86; Thu, 2 Feb 2023 10:26:03 +0100 (CET) X-QQ-mid: bizesmtp85t1675329960thk8soaq Received: from wxdbg.localdomain.com ( [183.129.236.74]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 02 Feb 2023 17:25:59 +0800 (CST) X-QQ-SSF: 01400000002000H0Y000B00A0000000 X-QQ-FEAT: 7aHzntQn+UCy+DW3M1R5OKSiVluPHb3RaSxeMEZULzopMDlPBytZI224uZXED fWy2HTlSRPbM2ym0vduvZQWtIlELCLpMY8msoWg4USKY6FGCvDpPHnhBJOjlydniGnpkNLL 9f3u9/XPRdwpWctPpy2xedC5b8UBRsz/Aw7zKPCyTkDzUiY7JW9GOb8VI6tIzZS47EvjxP5 ef/c94D369ON+GvrUcfnEBPSJuGCuLeANZ/2jHMdzHPimKKrtUXaPFuLCYS/a5+IH7/QYIG 0ReFV32GpSLQsu5F6BpVsB+gb9RIdu4xQuQ7vJrvVsKfm3qWwKjwAiq6+IV1j4CslNFyhpq Zwvisi9J3+bIa80AN2guadim23B7P8QNA76pwgMqpqsGwk/TVafNX4XWj+M7Ua5hzHqqwTC jO21oHD9C8M= X-QQ-GoodBg: 2 From: Jiawen Wu To: dev@dpdk.org Cc: Jiawen Wu , stable@dpdk.org Subject: [PATCH v2 09/10] net/txgbe: fix interrupt loss Date: Thu, 2 Feb 2023 17:21:31 +0800 Message-Id: <20230202092132.3271910-10-jiawenwu@trustnetic.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20230202092132.3271910-1-jiawenwu@trustnetic.com> References: <20230118060039.3074016-1-jiawenwu@trustnetic.com> <20230202092132.3271910-1-jiawenwu@trustnetic.com> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:trustnetic.com:qybglogicsvr:qybglogicsvr5 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Disable interrupt in the interrupt handling process will sometimes cause interrupts to be lost. Fixes: 2fc745e6b606 ("net/txgbe: add interrupt operation") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu --- drivers/net/txgbe/txgbe_ethdev.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index ce7cf2506d..6e939b8ce3 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -2972,9 +2972,6 @@ txgbe_dev_interrupt_get_status(struct rte_eth_dev *dev, rte_intr_type_get(intr_handle) != RTE_INTR_HANDLE_VFIO_MSIX) wr32(hw, TXGBE_PX_INTA, 1); - /* clear all cause mask */ - txgbe_disable_intr(hw); - /* read-on-clear nic registers here */ eicr = ((u32 *)hw->isb_mem)[TXGBE_ISB_MISC]; PMD_DRV_LOG(DEBUG, "eicr %x", eicr); @@ -3000,6 +2997,8 @@ txgbe_dev_interrupt_get_status(struct rte_eth_dev *dev, if (eicr & TXGBE_ICRMISC_HEAT) intr->flags |= TXGBE_FLAG_OVERHEAT; + ((u32 *)hw->isb_mem)[TXGBE_ISB_MISC] = 0; + return 0; }