Thread (15 messages) 15 messages, 3 authors, 2025-07-08

Re: [PATCH net 3/4] net: hns3: fixed vf get max channels bug

From: David Laight <hidden>
Date: 2025-07-05 07:24:06
Also in: lkml

On Fri, 4 Jul 2025 17:05:37 +0100
Simon Horman [off-list ref] wrote:
+ David Laight

On Wed, Jul 02, 2025 at 09:09:00PM +0800, Jijie Shao wrote:
quoted
From: Hao Lan <redacted>

Currently, the queried maximum of vf channels is the maximum of channels
supported by each TC. However, the actual maximum of channels is
the maximum of channels supported by the device.

Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Hao Lan <redacted>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>  
Reviewed-by: Simon Horman <horms@kernel.org>
quoted
---
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 33136a1e02cf..626f5419fd7d 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
 
 static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
 {
-	struct hnae3_handle *nic = &hdev->nic;
-	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
-
-	return min_t(u32, hdev->rss_size_max,
-		     hdev->num_tqps / kinfo->tc_info.num_tc);
+	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);  
min_t() wasn't needed before and it certainly doesn't seem to be needed
now, as both .rss_size_max, and .num_tqps are u16.
It (well something) would have been needed before the min_t() changes.
The u16 values get promoted to 'signed int' prior to the division.
As a follow-up, once this change hits net-next, please update to use min()
instead. Likely elsewhere too.
Especially any min_t(u16, ...) or u8 ones.
They are just so wrong and have caused bugs.

	David

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help