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 4F827A0A0C for ; Thu, 28 Jan 2021 03:39:09 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3EE021410B2; Thu, 28 Jan 2021 03:39:09 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 9B89314109C; Thu, 28 Jan 2021 03:39:06 +0100 (CET) IronPort-SDR: vUWkPnIhPIGcbHO4s5ZYV0+7SG3jO5f1iLY3QqCdtCRA/OjdD04q9i8Q2XULJ9wqAJ4Ds2wkXm /1UTg/B02qtQ== X-IronPort-AV: E=McAfee;i="6000,8403,9877"; a="177606342" X-IronPort-AV: E=Sophos;i="5.79,381,1602572400"; d="scan'208";a="177606342" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2021 18:39:04 -0800 IronPort-SDR: D1Ye5hbbpKY+wUSfJO/4O8dqDk/5uJTSiT++Pa4Aon7WvkT5QqBf6GNT4Kcp7GfmY74AiV1bgE 20qZTG5c0Rpg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,381,1602572400"; d="scan'208";a="369686369" Received: from dpdk-wujingji.sh.intel.com ([10.67.119.101]) by orsmga002.jf.intel.com with ESMTP; 27 Jan 2021 18:39:03 -0800 From: Jingjing Wu To: dev@dpdk.org Cc: jingjing.wu@intel.com, beilei.xing@intel.com, stable@dpdk.org Date: Thu, 28 Jan 2021 10:37:24 +0800 Message-Id: <20210128023724.39057-1-jingjing.wu@intel.com> X-Mailer: git-send-email 2.21.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH] net/iavf: fix vector mapping with queue 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" Fix the vector mapping with queue by changing the recircle when exceeds RX_VEC_START + nb_msix; Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") Signed-off-by: Jingjing Wu --- drivers/net/iavf/iavf_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index cf6ea0b15..eb800771d 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -612,7 +612,7 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev, /* If Rx interrupt is reuquired, and we can use * multi interrupts, then the vec is from 1 */ - vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors, + vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors - 1, intr_handle->nb_efd); vf->msix_base = IAVF_RX_VEC_START; vec = IAVF_RX_VEC_START; @@ -620,7 +620,7 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev, qv_map[i].queue_id = i; qv_map[i].vector_id = vec; intr_handle->intr_vec[i] = vec++; - if (vec >= vf->nb_msix) + if (vec >= vf->nb_msix + IAVF_RX_VEC_START) vec = IAVF_RX_VEC_START; } vf->qv_map = qv_map; -- 2.21.1