From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5E2DEA0A02 for ; Mon, 4 Jan 2021 01:26:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 532891606B9; Mon, 4 Jan 2021 01:26:06 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 5E09B1606A4; Mon, 4 Jan 2021 01:26:03 +0100 (CET) IronPort-SDR: 22Y5E7hfmHcW9IQ1xh8TuFEkLN4Kz7ZE/CogJpCGStjDJEnJ5jT0acx6Umfzto4gpVpTY2x/i4 +hl8LThyDKkA== X-IronPort-AV: E=McAfee;i="6000,8403,9853"; a="164600259" X-IronPort-AV: E=Sophos;i="5.78,472,1599548400"; d="scan'208";a="164600259" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jan 2021 16:26:01 -0800 IronPort-SDR: yeg948OH6DWgbdfd3HijjDkjEssBdQvbK44zMIMM0DVn4B9T2kvS8c0PcarSOjbl4b8jOTjua6 xljFOIzcq2Gw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,472,1599548400"; d="scan'208";a="569215058" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga005.fm.intel.com with ESMTP; 03 Jan 2021 16:26:01 -0800 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 3 Jan 2021 16:26:00 -0800 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by SHSMSX606.ccr.corp.intel.com (10.109.6.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 4 Jan 2021 08:25:58 +0800 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.1713.004; Mon, 4 Jan 2021 08:25:58 +0800 From: "Zhang, Qi Z" To: "Yu, DapengX" , "Wu, Jingjing" , "Xing, Beilei" CC: "dev@dpdk.org" , "Yu, DapengX" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/iavf: fix vector id assignment Thread-Index: AQHW3nihX1Z1zwJHjE2cwP/YMffi4qoWoiXw Date: Mon, 4 Jan 2021 00:25:58 +0000 Message-ID: References: <20201230065347.90115-1-dapengx.yu@intel.com> In-Reply-To: <20201230065347.90115-1-dapengx.yu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] net/iavf: fix vector id assignment 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" > -----Original Message----- > From: dev On Behalf Of dapengx.yu@intel.com > Sent: Wednesday, December 30, 2020 2:54 PM > To: Wu, Jingjing ; Xing, Beilei > Cc: dev@dpdk.org; Yu, DapengX ; stable@dpdk.org > Subject: [dpdk-dev] [PATCH] net/iavf: fix vector id assignment >=20 > From: YU DAPENG >=20 > 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. >=20 > Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") > Cc: stable@dpdk.org >=20 > Signed-off-by: YU DAPENG > --- > drivers/net/iavf/iavf_ethdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethde= v.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 =3D i; > qv_map[i].vector_id =3D vec; > intr_handle->intr_vec[i] =3D vec++; > - if (vec >=3D vf->nb_msix) > + if (vec > vf->nb_msix) This is not correct, the nb_msix should already include the vector 0, we sh= ould not set a vector_id to a value that >=3D nb_msix,=20 > vec =3D IAVF_RX_VEC_START; > } > vf->qv_map =3D qv_map; > -- > 2.27.0