From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id ABBC6A0526;
	Thu, 23 Jul 2020 06:36:32 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 8D4CA1BFDB;
	Thu, 23 Jul 2020 06:36:32 +0200 (CEST)
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by dpdk.org (Postfix) with ESMTP id 31946199BC;
 Thu, 23 Jul 2020 06:36:29 +0200 (CEST)
IronPort-SDR: dRJ1qmoHIT9NMZH5NfsLXHQW6cwD8U4h8lY2tbwG4p4MMBUlWZL+ChZZXh5vSNWBINeR92yq42
 OZFeDXYhPqtw==
X-IronPort-AV: E=McAfee;i="6000,8403,9690"; a="151773833"
X-IronPort-AV: E=Sophos;i="5.75,385,1589266800"; d="scan'208";a="151773833"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 22 Jul 2020 21:36:28 -0700
IronPort-SDR: tU8l5s1fYO4ML3OISIYGcWefTMsPltS1MShYdQpoJaaSYR9PbJ+HWvYGPaSMyJC3HE76/1lyRC
 DUnd7Lpv3jOg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.75,385,1589266800"; d="scan'208";a="302178915"
Received: from dut85.sh.intel.com (HELO localhost.localdomain)
 ([10.240.183.157])
 by orsmga002.jf.intel.com with ESMTP; 22 Jul 2020 21:36:26 -0700
From: Jiang Mao <maox.jiang@intel.com>
To: qi.z.zhang@intel.com
Cc: dev@dpdk.org,
	stable@dpdk.org,
	Jiang Mao <maox.jiang@intel.com>
Date: Fri, 24 Jul 2020 00:11:52 +0800
Message-Id: <20200723161152.7791-1-maox.jiang@intel.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20200722175738.32490-2-maox.jiang@intel.com>
References: <20200722175738.32490-2-maox.jiang@intel.com>
Subject: [dpdk-dev] [PATCH v4 2/2] net/i40e: fix fdir allocating msix
	resource error
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Fdir allocating msix resource is not strictly necessary, if no
resource left, jump the error.

Fixes: 4861cde461 (i40e: new poll mode driver)
Cc: stable@dpdk.org

Signed-off-by: Jiang Mao <maox.jiang@intel.com>
---
V3: Move type I40E_VSI_FDIR branch into !I40E_VSI_SRIOV branch.
V4: Rebase this patch.
---
 drivers/net/i40e/i40e_ethdev.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 0c32e451c5..f9a8e7132f 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -5839,10 +5839,14 @@ i40e_vsi_setup(struct i40e_pf *pf,
 		ret = i40e_res_pool_alloc(&pf->msix_pool, 1);
 		if (ret < 0) {
 			PMD_DRV_LOG(ERR, "VSI %d get heap failed %d", vsi->seid, ret);
-			goto fail_queue_alloc;
+			if (type != I40E_VSI_FDIR)
+				goto fail_queue_alloc;
+			vsi->msix_intr = 0;
+			vsi->nb_msix = 0;
+		} else {
+			vsi->msix_intr = ret;
+			vsi->nb_msix = 1;
 		}
-		vsi->msix_intr = ret;
-		vsi->nb_msix = 1;
 	} else {
 		vsi->msix_intr = 0;
 		vsi->nb_msix = 0;
-- 
2.17.1