Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2736062imj; Mon, 11 Feb 2019 07:43:45 -0800 (PST) X-Google-Smtp-Source: AHgI3IZLF4kPbzbwYdZtVbRw1U8T5/HcoZZzf04NbXpv+tGhYuopJoRFw0g7opHZ49iq4kBBIXtv X-Received: by 2002:a63:f30d:: with SMTP id l13mr34228841pgh.399.1549899824924; Mon, 11 Feb 2019 07:43:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549899824; cv=none; d=google.com; s=arc-20160816; b=HjWlDy1ejjQFxEzYaLxbTjF/W6r6AcjK2W6vhiB3zC+tYb4PFoRfN25aJk8Gra84ip sxDuw+RlRVsR+wStezZTx0Y0UYUH5px2Z0vHXKxYOvWVSylunGHGH4KzpD/LUzK4wWfw 1X3tLekmoW/lObjJlN/b1/fh8/d0iay82MiJJZHv4482XaPmcraj6P63VGR+4sUfjY5N uWnprE6rtTmE7d/5lDZxBLfs79N9p2apqSvOe0qFosYQUI6C5gsFFffNWUiQAYe8kNNs 71Dc5fcYM2ztVJ0nSudm6k0XwThE3QJG+w6ib+X01DeTTtfjJfrZJSYSgPRq7+XrTMvf WJdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=igq2WRhPEY+Sgqt1l9d5hVydjZGCelKHRUoYthisjSQ=; b=Cdq4cvSizHS6dPQbkkEgtUBW9yu399SlttpoAh+I20Dvo1v0+7M5emdxI3EJk+UVy1 aUfrfZELm8p87tXV6xwANC6U1R2JsZ/5stMfcySInWlUS01/4v8EZstxVJS8BvpmmwFl 8eWAF6L+XF+KDVXwhDvtC8n+1eDEjdzqVdj6tpdrSrV6HYXyThI0j7Cc0yDeO6AqwXfX dcQkRiCgfCbQ1VJgUBeu22w/oY8R43620c2uZh3Og+TbeQrbQLKbayvxkT4Ipf70vOH9 +LIpM3+uSvO19KPo/cnO3nqgK1Gs+iJuXGVQN/F6NE+vd8csTUUSRpdEC6V+8JxBnI9t L2QQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QEXdbW3o; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b8si9383068pgw.561.2019.02.11.07.43.29; Mon, 11 Feb 2019 07:43:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QEXdbW3o; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733215AbfBKOqT (ORCPT + 99 others); Mon, 11 Feb 2019 09:46:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:59358 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733183AbfBKOqN (ORCPT ); Mon, 11 Feb 2019 09:46:13 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1E016206BA; Mon, 11 Feb 2019 14:46:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1549896372; bh=T5wUs41lArKKshnbE/bJQazh0s7EyBLKdjoluqRFj+8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QEXdbW3oRmJaYG1JDYOA3woIFoskb4Rx9sljSRIk1mzwRTSYeAM7CPgWL3fquHq2o 3E/GxcWzzYDsS2oyJTNZSgTJ7jQuodEhUaOjD7ly5cshWXkFhhm9GN+Kt89d22d48y UGhDpxGkan+zVnMiTh2XlHQcBbkYvFuOTvDmDOX8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Chan , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 163/313] bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings. Date: Mon, 11 Feb 2019 15:17:23 +0100 Message-Id: <20190211141904.368663103@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190211141852.749630980@linuxfoundation.org> References: <20190211141852.749630980@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 36d65be9a88052cdfc8524eb591baf0e6c878408 ] When bringing up a device, the code checks to see if the number of MSIX has changed. pci_disable_msix() should be called first before changing the number of reserved NQs/CMPL rings. This ensures that the MSIX vectors associated with the NQs/CMPL rings are still properly mapped when pci_disable_msix() masks the vectors. This patch will prevent errors when RDMA support is added for the new 57500 chips. When the RDMA driver shuts down, the number of NQs is decreased and we must use the new sequence to prevent MSIX errors. Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index e2d92548226a..034f57500f00 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -6073,23 +6073,26 @@ static void bnxt_clear_int_mode(struct bnxt *bp) int bnxt_reserve_rings(struct bnxt *bp) { int tcs = netdev_get_num_tc(bp->dev); + bool reinit_irq = false; int rc; if (!bnxt_need_reserve_rings(bp)) return 0; - rc = __bnxt_reserve_rings(bp); - if (rc) { - netdev_err(bp->dev, "ring reservation failure rc: %d\n", rc); - return rc; - } if (BNXT_NEW_RM(bp) && (bnxt_get_num_msix(bp) != bp->total_irqs)) { bnxt_ulp_irq_stop(bp); bnxt_clear_int_mode(bp); - rc = bnxt_init_int_mode(bp); + reinit_irq = true; + } + rc = __bnxt_reserve_rings(bp); + if (reinit_irq) { + if (!rc) + rc = bnxt_init_int_mode(bp); bnxt_ulp_irq_restart(bp, rc); - if (rc) - return rc; + } + if (rc) { + netdev_err(bp->dev, "ring reservation/IRQ init failure rc: %d\n", rc); + return rc; } if (tcs && (bp->tx_nr_rings_per_tc * tcs != bp->tx_nr_rings)) { netdev_err(bp->dev, "tx ring reservation failure\n"); -- 2.19.1