From patchwork Mon Nov 4 23:02:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62404 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id DFE97A0352; Tue, 5 Nov 2019 00:02:49 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A0E11343C; Tue, 5 Nov 2019 00:02:38 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 8CB152BA2; Tue, 5 Nov 2019 00:02:33 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 6B5FE30C0FE; Mon, 4 Nov 2019 14:59:44 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 6B5FE30C0FE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1572908384; bh=EdYB4/fJeUa/FISsYA3c+ZHjfL5s4nWArg88ZHfm5fo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W24MPC6dpEz182s5s2liAaA1qOG/s66w9pc+JmWzB6rRoi3/WjQ/0h9EehwqDs+SW Rrc+bijq5RnTi8uYdvSvkDWpCCZZk+y655pcSLMqYwhLacNz1aBcOsiKQeyAASAN8M Agoec9U/TdxCVuNXddorzzxNedBTObdfB42qrzVE= Received: from C02VPB22HTD6.wifi.broadcom.net (c02vpb22htd6.wifi.broadcom.net [10.69.74.102]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 60A4B14008E; Mon, 4 Nov 2019 15:02:30 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Lance Richardson , stable@dpdk.org Date: Mon, 4 Nov 2019 15:02:24 -0800 Message-Id: <20191104230225.98450-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122) In-Reply-To: <20191104230225.98450-1-ajit.khaparde@broadcom.com> References: <20191104230225.98450-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/4] net/bnxt: release hwrm lock before returning X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Lance Richardson The function bnxt_vnic_rss_configure_thor() returns early when all receive queues are stopped without releasing the hwrm spinlock, which causes subsequent HWRM operations to hang. Fix by ensuring that the lock is released before returning from this function. Fixes: 38412304b50a ("net/bnxt: enable RSS for thor-based controllers") Cc: stable@dpdk.org Signed-off-by: Lance Richardson Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index ab6cb1dc3..bb4dcf4b2 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -4337,8 +4337,10 @@ bnxt_vnic_rss_configure_thor(struct bnxt *bp, struct bnxt_vnic_info *vnic) } /* Return if no rings are active. */ - if (cnt == max_rings) + if (cnt == max_rings) { + HWRM_UNLOCK(); return 0; + } /* Add rx/cp ring pair to RSS table. */ rxr = rxqs[k]->rx_ring;