From patchwork Tue Jun 25 13:38:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Marchand X-Patchwork-Id: 55310 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 25B2D1BA5E; Tue, 25 Jun 2019 15:39:16 +0200 (CEST) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id E4FD41BA5D; Tue, 25 Jun 2019 15:39:14 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E872C356FF; Tue, 25 Jun 2019 13:39:08 +0000 (UTC) Received: from dmarchan.remote.csb (unknown [10.40.205.98]) by smtp.corp.redhat.com (Postfix) with ESMTP id 268B61972C; Tue, 25 Jun 2019 13:39:05 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: stable@dpdk.org, Rasesh Mody , Shahed Shaikh Date: Tue, 25 Jun 2019 15:38:57 +0200 Message-Id: <1561469937-16077-1-git-send-email-david.marchand@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 25 Jun 2019 13:39:14 +0000 (UTC) Subject: [dpdk-dev] [PATCH] net/qede: remove interrupt reconfigure in handler 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" rte_intr_enable/rte_intr_disable configure the interrupt context on the kernel side (either uio or vfio). In VFIO case, calling it from the interrupt handlers triggers an unneeded interrupt handlers reconfiguration. During this reconfiguration window, the device can trigger interrupts which are left unserviced. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1654824 Fixes: 245aec289338 ("net/qede: fix legacy interrupt mode") Fixes: 2ea6f76aff40 ("qede: add core driver") Cc: stable@dpdk.org Signed-off-by: David Marchand Acked-by: Rasesh Mody --- drivers/net/qede/qede_ethdev.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 82363e6..807016a 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -245,12 +245,8 @@ static void qede_interrupt_action(struct ecore_hwfn *p_hwfn) /* Check if our device actually raised an interrupt */ status = ecore_int_igu_read_sisr_reg(ECORE_LEADING_HWFN(edev)); - if (status & 0x1) { + if (status & 0x1) qede_interrupt_action(ECORE_LEADING_HWFN(edev)); - - if (rte_intr_enable(eth_dev->intr_handle)) - DP_ERR(edev, "rte_intr_enable failed\n"); - } } static void @@ -261,8 +257,6 @@ static void qede_interrupt_action(struct ecore_hwfn *p_hwfn) struct ecore_dev *edev = &qdev->edev; qede_interrupt_action(ECORE_LEADING_HWFN(edev)); - if (rte_intr_enable(eth_dev->intr_handle)) - DP_ERR(edev, "rte_intr_enable failed\n"); } static void