]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: hns3: using the num_tqps in the vf driver to apply for resources
authorJian Shen <shenjian15@huawei.com>
Thu, 11 Dec 2025 02:37:35 +0000 (10:37 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 18 Dec 2025 15:58:28 +0000 (16:58 +0100)
Currently, hdev->htqp is allocated using hdev->num_tqps, and kinfo->tqp
is allocated using kinfo->num_tqps. However, kinfo->num_tqps is set to
min(new_tqps, hdev->num_tqps);  Therefore, kinfo->num_tqps may be smaller
than hdev->num_tqps, which causes some hdev->htqp[i] to remain
uninitialized in hclgevf_knic_setup().

Thus, this patch allocates hdev->htqp and kinfo->tqp using hdev->num_tqps,
ensuring that the lengths of hdev->htqp and kinfo->tqp are consistent
and that all elements are properly initialized.

Fixes: e2cb1dec9779 ("net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251211023737.2327018-2-shaojijie@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c

index 8fcf220a120d21959799efe76c88829194f0f5d0..70327a73dee3261f6cc0465ed413ee8129676a99 100644 (file)
@@ -368,12 +368,12 @@ static int hclgevf_knic_setup(struct hclgevf_dev *hdev)
        new_tqps = kinfo->rss_size * num_tc;
        kinfo->num_tqps = min(new_tqps, hdev->num_tqps);
 
-       kinfo->tqp = devm_kcalloc(&hdev->pdev->dev, kinfo->num_tqps,
+       kinfo->tqp = devm_kcalloc(&hdev->pdev->dev, hdev->num_tqps,
                                  sizeof(struct hnae3_queue *), GFP_KERNEL);
        if (!kinfo->tqp)
                return -ENOMEM;
 
-       for (i = 0; i < kinfo->num_tqps; i++) {
+       for (i = 0; i < hdev->num_tqps; i++) {
                hdev->htqp[i].q.handle = &hdev->nic;
                hdev->htqp[i].q.tqp_index = i;
                kinfo->tqp[i] = &hdev->htqp[i].q;