From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0262BA0A00 for ; Wed, 30 Dec 2020 07:54:06 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C6C9CC8E0; Wed, 30 Dec 2020 07:54:04 +0100 (CET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id BB3692C7A; Wed, 30 Dec 2020 07:54:00 +0100 (CET) IronPort-SDR: +maGxKUk/+cgFF9890S/6ApPa2b6HrUOuiyguaifEgt4x93JGnFVNagxWCCcfBegqOhNQiwRwn WZ+zNbtJy8SA== X-IronPort-AV: E=McAfee;i="6000,8403,9849"; a="175800193" X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="175800193" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Dec 2020 22:53:58 -0800 IronPort-SDR: fuMbFkSoX/oTLRsMcC16Ul+jJKG/TJYjRCEJ2NsFLp4hO05PP6CATZSnFKz5UnXLeqpWwUX/zH mgQEsmSgZHyA== X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="376326374" Received: from unknown (HELO localhost.localdomain) ([10.240.183.93]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Dec 2020 22:53:56 -0800 From: dapengx.yu@intel.com To: jingjing.wu@intel.com, beilei.xing@intel.com Cc: dev@dpdk.org, YU DAPENG , stable@dpdk.org Date: Wed, 30 Dec 2020 14:53:47 +0800 Message-Id: <20201230065347.90115-1-dapengx.yu@intel.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH] net/iavf: fix vector id assignment 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: , Errors-To: stable-bounces@dpdk.org Sender: "stable" From: YU DAPENG When the interrupt handle instance allows none packet I/O interrupts, the max value of vector_id is set to be less than the number of msix interrupts, but not equal to it. Which may cause same vector_id is sent to PF with opcode VIRTCHNL_OP_CONFIG_IRQ_MAP to setup the cause of interrupt mapping in iavf_config_irq_map(), these are invalid parameters, cause error: VIRTCHNL_STATUS_ERR_PARAM(-5). So add code to set the max value of vector_id to be equal to the number of msix interrupts. Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") Cc: stable@dpdk.org Signed-off-by: YU DAPENG --- drivers/net/iavf/iavf_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index 7e3c26a94..54ea3a36c 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -578,7 +578,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) vec = IAVF_RX_VEC_START; } vf->qv_map = qv_map; -- 2.27.0