net: hns3: fix VF bandwidth does not take effect in some case
authorYonglong Liu <liuyonglong@huawei.com>
Fri, 14 Feb 2020 01:53:42 +0000 (09:53 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Feb 2020 15:05:17 +0000 (07:05 -0800)
When enabling 4 TC after setting the bandwidth of VF, the bandwidth
of VF will resume to default value, because of the qset resources
changed in this case.

This patch fixes it by using a fixed VF's qset resources according to
HNAE3_MAX_TC macro.

Fixes: ee9e44248f52 ("net: hns3: add support for configuring bandwidth of VF on the host")
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c

index 180224e..28db132 100644 (file)
@@ -566,7 +566,7 @@ static void hclge_tm_vport_tc_info_update(struct hclge_vport *vport)
         */
        kinfo->num_tc = vport->vport_id ? 1 :
                        min_t(u16, vport->alloc_tqps, hdev->tm_info.num_tc);
-       vport->qs_offset = (vport->vport_id ? hdev->tm_info.num_tc : 0) +
+       vport->qs_offset = (vport->vport_id ? HNAE3_MAX_TC : 0) +
                                (vport->vport_id ? (vport->vport_id - 1) : 0);
 
        max_rss_size = min_t(u16, hdev->rss_size_max,