Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3089837ybt; Mon, 29 Jun 2020 15:05:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7XMTBkN/KYJUZGFa4DRZ81Wz1gQIB8d4Zl9CiMNTKVI4dCFA7eCBhU6LhOusbzrYjzy1a X-Received: by 2002:a17:907:94ca:: with SMTP id dn10mr15303274ejc.348.1593468336057; Mon, 29 Jun 2020 15:05:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593468336; cv=none; d=google.com; s=arc-20160816; b=vPgrQdzmj7/lGjFR4vYtWq609dV76Hf6B+/Lh8vdM0sC19lC7ybZ7UIrX6LHrI1B6q oP6oXBujCoLannBLJ9cf5BAgcic6t1stEo0OaMrPp6BESASfmaaFpLyRYykS/gJIOZVx YTZiAz6esiQv3qzNPNuSfdRBsRLMlJLjbj60eDp+c9/JnzvD+9AQt5pEjdUBo2X5ZDdm beFL9dU80NvKXt00cMuFMk1dJxjCDOHXzhxLn+e7GXrMdj+wtpyaVgU6cr7KcQd/L3dx nxIFthSJei0zPsRns/LDnMzn6mI90fbtlVKzU7VGXWS9D0c165nnVgFHyjAG023RQEFU bA3w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=IZEMhlGeVTwE2N3ZJcwh7biiSq/z/fbWykRF+VdlqX0=; b=lMASn7gTLOYxbIbkGdK5Cn1QqSX4dg1NN8eDVPX+cB610ihDPDCgVmJGJXV92tCdbB rLrwPv4D1S87/B8dvS8zOLDgEvKa0roIiWY/nWyCqS9T868amtSGELrAcEX76LcTDMWP WqLI/vvMQB9b/AUR9R2V9zfMqEpPxMnDgGQSfFbZme+sr9eNFPutkWLZTFjMcA0+y7WO p9458LnpXfUEHVft9D+fKwmk8jgiA6ldQhKv4QRjo1EL9ANl3HtHenvTBlo6VwAguL5I 2jtEvXp9ruWCanV/8GdYUUSnoCkbRB+0frv04C0pxdmGR3ENtusl5TJjinRkYgWKcTsi rqoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FwQf2d19; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w2si478169edt.433.2020.06.29.15.05.13; Mon, 29 Jun 2020 15:05:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=FwQf2d19; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391788AbgF2WEA (ORCPT + 99 others); Mon, 29 Jun 2020 18:04:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:56908 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726194AbgF2SfW (ORCPT ); Mon, 29 Jun 2020 14:35:22 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CCCD024059; Mon, 29 Jun 2020 15:18:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593443928; bh=TQ9E0qJq16phMpfxrIhzPQ+5aXnNyTIFxB/mtYLhK8o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FwQf2d19/V7gsOnNIEdzkvbFY7f/v/MYI+lpVa0Jbhxl8vKGtYxTVzj8LByYZ+S+b DdRnHT0m92Q6nMSHq4uRlWoo+qxmkvUdSMKX+bEqtvPA1xeiC9f8Z5pJ+fE25Q36nR gtT/7heGnDqfRQqeHogKwyENa43ZPvHXLtypAaBg= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Michael Chan , Edwin Peer , "David S . Miller" , Greg Kroah-Hartman Subject: [PATCH 5.7 029/265] bnxt_en: Do not enable legacy TX push on older firmware. Date: Mon, 29 Jun 2020 11:14:22 -0400 Message-Id: <20200629151818.2493727-30-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629151818.2493727-1-sashal@kernel.org> References: <20200629151818.2493727-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.7.7-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-5.7.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 5.7.7-rc1 X-KernelTest-Deadline: 2020-07-01T15:14+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michael Chan [ Upstream commit fed7edd18143c68c63ea049999a7e861123de6de ] Older firmware may not support legacy TX push properly and may not be disabling it. So we check certain firmware versions that may have this problem and disable legacy TX push unconditionally. Fixes: c0c050c58d84 ("bnxt_en: New Broadcom ethernet driver.") Reviewed-by: Edwin Peer Signed-off-by: Michael Chan Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 3 ++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 83ed6f31a1fae..6bf97b3acdadc 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -6953,7 +6953,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) bp->fw_cap |= BNXT_FW_CAP_ERR_RECOVER_RELOAD; bp->tx_push_thresh = 0; - if (flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) + if ((flags & FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED) && + BNXT_FW_MAJ(bp) > 217) bp->tx_push_thresh = BNXT_TX_PUSH_THRESH; hw_resc->max_rsscos_ctxs = le16_to_cpu(resp->max_rsscos_ctx); diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index a880aea0c20b5..23ee433db8644 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1732,6 +1732,7 @@ struct bnxt { u64 fw_ver_code; #define BNXT_FW_VER_CODE(maj, min, bld, rsv) \ ((u64)(maj) << 48 | (u64)(min) << 32 | (u64)(bld) << 16 | (rsv)) +#define BNXT_FW_MAJ(bp) ((bp)->fw_ver_code >> 48) __be16 vxlan_port; u8 vxlan_port_cnt; -- 2.25.1