From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id D7AE22BE5 for ; Tue, 23 Jan 2018 03:41:25 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jan 2018 18:41:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,398,1511856000"; d="scan'208";a="13356426" Received: from dpdk26.sh.intel.com ([10.67.110.152]) by fmsmga002.fm.intel.com with ESMTP; 22 Jan 2018 18:41:23 -0800 From: Wenzhuo Lu To: qabuild@intel.com Cc: Wenzhuo Lu , stable@dpdk.org Date: Tue, 23 Jan 2018 10:43:24 +0800 Message-Id: <1516675406-123639-2-git-send-email-wenzhuo.lu@intel.com> X-Mailer: git-send-email 1.9.3 In-Reply-To: <1516675406-123639-1-git-send-email-wenzhuo.lu@intel.com> References: <1516675406-123639-1-git-send-email-wenzhuo.lu@intel.com> Subject: [dpdk-stable] [DPDK 2/4] net/ixgbe: fix VF RX queue interrupt enabling X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Jan 2018 02:41:26 -0000 When using UIO, after enabling the interrupt to get the PF message, VF RX queue interrupt is not working. It's expected, as UIO doesn't support multiple interrupt. So, PMD should not try to enable RX queue interrupt. Then APP can know the RX queue interrupt is not enabled and only choose the polling mode. Fixes: 77234603fba0 ("net/ixgbe: support VF mailbox interrupt for link up/down") CC: stable@dpdk.org Signed-off-by: Wenzhuo Lu --- drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 4f4334d..91ff54c 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -5033,7 +5033,8 @@ static int ixgbevf_dev_xstats_get_names(__rte_unused struct rte_eth_dev *dev, ixgbevf_dev_rxtx_start(dev); /* check and configure queue intr-vector mapping */ - if (dev->data->dev_conf.intr_conf.rxq != 0) { + if (rte_intr_cap_multiple(intr_handle) && + dev->data->dev_conf.intr_conf.rxq) { /* According to datasheet, only vector 0/1/2 can be used, * now only one vector is used for Rx queue */ -- 1.9.3