Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2091164imu; Wed, 28 Nov 2018 22:16:04 -0800 (PST) X-Google-Smtp-Source: AFSGD/VXjnc3Nd4uLw4jlIsmXoaA5WmUbKojZwkjfjQDHMuxLWv/vu9ucvLMuShqBYOFwX7s7ddc X-Received: by 2002:a62:5bc7:: with SMTP id p190-v6mr202425pfb.175.1543472164781; Wed, 28 Nov 2018 22:16:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543472164; cv=none; d=google.com; s=arc-20160816; b=a3pX66+CauLWJPL0dfuR3LB0jx0CyWpCkfqLleGJqkMP8bjWt5joZn5PmzHbnKAd3F XUte9fbiQ030mlXY5ouHTjVORY8yCpNRrnBKf2SYYJvQQ3QsrwC4Rd1t0GPGneirVAgX ckJZZGJ6WU0FltMN32YVVTnQAswf6zA2ldod3SmW7OdnoKBAgvY/rIfdgXvRjCY0TW2P Hp6+Vzr/9ASDfDQdie5YbZL+CgmFwBrgoL/zhWd65iQS1NYqQ395zLA3SWQUiR7tGNOf Evv2BB5ewHMsGSrD2CtaNz70P+LKBB5ajsSFRkyQx2M3Y66RPaV6NC7pMDjZ5gz6hW95 SS0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=6H9gxW2gf2eTTPIW2fioeZHeuYV3Mfg/iab/3FGFr2g=; b=uSKnYkcXBL+ZG1CErVu1W4Ai3o5InkX1zoOKUFAQphCKL8dl/z8Gc0KxIO1gK3ZnPJ z0KjF0xjZ4lTJgOpDKUsCi/TW01mPwmWHUMXoq6QEJPkS0L9KceLiRrHHW1fEZt/DIgp 8Cq9VTOVzavQ2q22jQ2hKcHzfZqYh52KiiSW/y1zlZz4HLHcPTsIqFiM4DLep1J9Bdop UzrNJUqnqobe2v3DWA0tJ0ieGWeRxN1H20WouulS6Meuuf/KPDHCGgD0ygDh/wwiVhkJ DFFka+1Bdk+CQzNUlopu/FMpOFTJSK5+aU7bdkYFHVctZ1tb9gdyIzYrs3mOiuilwehZ aBFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="ja/Nq25a"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m7si1368531pfc.118.2018.11.28.22.15.50; Wed, 28 Nov 2018 22:16:04 -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="ja/Nq25a"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728351AbeK2RB5 (ORCPT + 99 others); Thu, 29 Nov 2018 12:01:57 -0500 Received: from mail.kernel.org ([198.145.29.99]:35346 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727416AbeK2RB4 (ORCPT ); Thu, 29 Nov 2018 12:01:56 -0500 Received: from sasha-vm.mshome.net (unknown [37.142.5.207]) (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 9693D21019; Thu, 29 Nov 2018 05:57:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543471066; bh=UKps64bjrcNutFV5OllWXUdBS+0c1qm8tdyVxUr++bw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ja/Nq25ayqmt1iMCpQoGVO31VGRQQ5u6u3nZ+mUluyxFTlujfmXdcHO0oIxUyrZXJ q9ffmJ3Rb7s97SatAFSj6+KbLKkh8BOudwTDr/C4ji7VZWSTwyygUrjG6YECZN9/ZN XRkm5XVEx7Xf0RWCbjLhbfbYceNcTXAyF5KeHfh8= From: Sasha Levin To: stable@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Denis Bolotin , Michal Kalderon , "David S . Miller" , Sasha Levin , netdev@vger.kernel.org Subject: [PATCH AUTOSEL 4.19 19/68] qed: Fix overriding offload_tc by protocols without APP TLV Date: Thu, 29 Nov 2018 00:55:10 -0500 Message-Id: <20181129055559.159228-19-sashal@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181129055559.159228-1-sashal@kernel.org> References: <20181129055559.159228-1-sashal@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Denis Bolotin [ Upstream commit e90202ed1cf9672c48a363c84a929932ebfe6fc0 ] The TC received from APP TLV is stored in offload_tc, and should not be set by protocols which did not receive an APP TLV. Fixed the condition when overriding the offload_tc. Signed-off-by: Denis Bolotin Signed-off-by: Michal Kalderon Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/qlogic/qed/qed_dcbx.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c index f5459de6d60a..5900a506bf8d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c @@ -191,7 +191,7 @@ qed_dcbx_dp_protocol(struct qed_hwfn *p_hwfn, struct qed_dcbx_results *p_data) static void qed_dcbx_set_params(struct qed_dcbx_results *p_data, struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, - bool enable, u8 prio, u8 tc, + bool app_tlv, bool enable, u8 prio, u8 tc, enum dcbx_protocol_type type, enum qed_pci_personality personality) { @@ -210,7 +210,7 @@ qed_dcbx_set_params(struct qed_dcbx_results *p_data, p_data->arr[type].dont_add_vlan0 = true; /* QM reconf data */ - if (p_hwfn->hw_info.personality == personality) + if (app_tlv && p_hwfn->hw_info.personality == personality) qed_hw_info_set_offload_tc(&p_hwfn->hw_info, tc); /* Configure dcbx vlan priority in doorbell block for roce EDPM */ @@ -225,7 +225,7 @@ qed_dcbx_set_params(struct qed_dcbx_results *p_data, static void qed_dcbx_update_app_info(struct qed_dcbx_results *p_data, struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, - bool enable, u8 prio, u8 tc, + bool app_tlv, bool enable, u8 prio, u8 tc, enum dcbx_protocol_type type) { enum qed_pci_personality personality; @@ -240,7 +240,7 @@ qed_dcbx_update_app_info(struct qed_dcbx_results *p_data, personality = qed_dcbx_app_update[i].personality; - qed_dcbx_set_params(p_data, p_hwfn, p_ptt, enable, + qed_dcbx_set_params(p_data, p_hwfn, p_ptt, app_tlv, enable, prio, tc, type, personality); } } @@ -318,8 +318,8 @@ qed_dcbx_process_tlv(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, enable = true; } - qed_dcbx_update_app_info(p_data, p_hwfn, p_ptt, enable, - priority, tc, type); + qed_dcbx_update_app_info(p_data, p_hwfn, p_ptt, true, + enable, priority, tc, type); } } @@ -340,7 +340,7 @@ qed_dcbx_process_tlv(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, continue; enable = (type == DCBX_PROTOCOL_ETH) ? false : !!dcbx_version; - qed_dcbx_update_app_info(p_data, p_hwfn, p_ptt, enable, + qed_dcbx_update_app_info(p_data, p_hwfn, p_ptt, false, enable, priority, tc, type); } -- 2.17.1