Thomas Bogendoerfer ad1095
From: Yonglong Liu <liuyonglong@huawei.com>
Thomas Bogendoerfer ad1095
Date: Thu, 14 Nov 2019 10:32:41 +0800
Thomas Bogendoerfer ad1095
Subject: net: hns3: fix ETS bandwidth validation bug
Thomas Bogendoerfer ad1095
Patch-mainline: v5.4-rc8
Thomas Bogendoerfer ad1095
Git-commit: c2d56897819338eb0ba8b93184f7d10329b36653
Thomas Bogendoerfer ad1095
References: bsc#1104353 FATE#326415
Thomas Bogendoerfer ad1095
Thomas Bogendoerfer ad1095
Some device only support 4 TCs, but the driver check the total
Thomas Bogendoerfer ad1095
bandwidth of 8 TCs, so may cause wrong configurations write to
Thomas Bogendoerfer ad1095
the hw.
Thomas Bogendoerfer ad1095
Thomas Bogendoerfer ad1095
This patch uses hdev->tc_max to instead HNAE3_MAX_TC to fix it.
Thomas Bogendoerfer ad1095
Thomas Bogendoerfer ad1095
Fixes: e432abfb99e5 ("net: hns3: add common validation in hclge_dcb")
Thomas Bogendoerfer ad1095
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Thomas Bogendoerfer ad1095
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Thomas Bogendoerfer ad1095
Signed-off-by: David S. Miller <davem@davemloft.net>
Thomas Bogendoerfer ad1095
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Thomas Bogendoerfer ad1095
---
Thomas Bogendoerfer ad1095
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |    2 +-
Thomas Bogendoerfer ad1095
 1 file changed, 1 insertion(+), 1 deletion(-)
Thomas Bogendoerfer ad1095
Thomas Bogendoerfer ad1095
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c
Thomas Bogendoerfer ad1095
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c
Thomas Bogendoerfer ad1095
@@ -124,7 +124,7 @@ static int hclge_ets_validate(struct hcl
Thomas Bogendoerfer ad1095
 	if (ret)
Thomas Bogendoerfer ad1095
 		return ret;
Thomas Bogendoerfer ad1095
 
Thomas Bogendoerfer ad1095
-	for (i = 0; i < HNAE3_MAX_TC; i++) {
Thomas Bogendoerfer ad1095
+	for (i = 0; i < hdev->tc_max; i++) {
Thomas Bogendoerfer ad1095
 		switch (ets->tc_tsa[i]) {
Thomas Bogendoerfer ad1095
 		case IEEE_8021QAZ_TSA_STRICT:
Thomas Bogendoerfer ad1095
 			if (hdev->tm_info.tc_info[i].tc_sch_mode !=