[PATCH] net: txgbe: fix clk_name exceed MAX_DEV_ID limits

Duanqiang Wen posted 1 patch 1 year, 11 months ago
drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] net: txgbe: fix clk_name exceed MAX_DEV_ID limits
Posted by Duanqiang Wen 1 year, 11 months ago
txgbe register clk which name is i2c_designware.pci_dev_id(),
clk_name will be stored in clk_lookup_alloc. If PCIe bus number
is larger than 0x39, clk_name size will be larger than 20 bytes.
It exceeds clk_lookup_alloc MAX_DEV_ID limits. So the driver
shortened clk_name.

Fixes: b63f20485e43 ("net: txgbe: Register fixed rate clock")
Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>
---
 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
index 93295916b1d2..5b5d5e4310d1 100644
--- a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
+++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
@@ -571,7 +571,7 @@ static int txgbe_clock_register(struct txgbe *txgbe)
 	char clk_name[32];
 	struct clk *clk;
 
-	snprintf(clk_name, sizeof(clk_name), "i2c_designware.%d",
+	snprintf(clk_name, sizeof(clk_name), "i2c_dw.%d",
 		 pci_dev_id(pdev));
 
 	clk = clk_register_fixed_rate(NULL, clk_name, NULL, 0, 156250000);
-- 
2.27.0
Re: [PATCH] net: txgbe: fix clk_name exceed MAX_DEV_ID limits
Posted by Paolo Abeni 1 year, 11 months ago
On Wed, 2024-03-13 at 16:06 +0800, Duanqiang Wen wrote:
> txgbe register clk which name is i2c_designware.pci_dev_id(),
> clk_name will be stored in clk_lookup_alloc. If PCIe bus number
> is larger than 0x39, clk_name size will be larger than 20 bytes.
> It exceeds clk_lookup_alloc MAX_DEV_ID limits. So the driver
> shortened clk_name.
> 
> Fixes: b63f20485e43 ("net: txgbe: Register fixed rate clock")
> Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>

Unrelated to this patch, but more related to the self-test burst this
patch landed into: it looks like that since roughly the net-next PR was
merged back forwarding debug variant of the vxlan-bridge-1q-ipv6-sh and
vxlan-bridge-1d-port-8472-ipv6-sh tests become less stable.

IDK if that was due to some glitch in the AWS hosts or what else. Just
an head-up.

Cheers,

Paolo
Re: [PATCH] net: txgbe: fix clk_name exceed MAX_DEV_ID limits
Posted by Ido Schimmel 1 year, 10 months ago
On Thu, Mar 14, 2024 at 01:46:01PM +0100, Paolo Abeni wrote:
> Unrelated to this patch, but more related to the self-test burst this
> patch landed into: it looks like that since roughly the net-next PR was
> merged back forwarding debug variant of the vxlan-bridge-1q-ipv6-sh and
> vxlan-bridge-1d-port-8472-ipv6-sh tests become less stable.
> 
> IDK if that was due to some glitch in the AWS hosts or what else. Just
> an head-up.

Looked into it. The test is sending 100 pings with an interval of 0.1
seconds and using a timeout of 11 seconds which is borderline,
especially with a debug kernel. Will bump it to 20 seconds for good
measures. It won't prolong the test unless something is actually wrong,
in which case the test will rightfully fail.
Re: [PATCH] net: txgbe: fix clk_name exceed MAX_DEV_ID limits
Posted by Michal Kubiak 1 year, 11 months ago
On Wed, Mar 13, 2024 at 04:06:34PM +0800, Duanqiang Wen wrote:
> txgbe register clk which name is i2c_designware.pci_dev_id(),
> clk_name will be stored in clk_lookup_alloc. If PCIe bus number
> is larger than 0x39, clk_name size will be larger than 20 bytes.
> It exceeds clk_lookup_alloc MAX_DEV_ID limits. So the driver
> shortened clk_name.
> 
> Fixes: b63f20485e43 ("net: txgbe: Register fixed rate clock")
> Signed-off-by: Duanqiang Wen <duanqiangwen@net-swift.com>
> ---
>  drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
> index 93295916b1d2..5b5d5e4310d1 100644
> --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
> +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c
> @@ -571,7 +571,7 @@ static int txgbe_clock_register(struct txgbe *txgbe)
>  	char clk_name[32];
>  	struct clk *clk;
>  
> -	snprintf(clk_name, sizeof(clk_name), "i2c_designware.%d",
> +	snprintf(clk_name, sizeof(clk_name), "i2c_dw.%d",
>  		 pci_dev_id(pdev));
>  
>  	clk = clk_register_fixed_rate(NULL, clk_name, NULL, 0, 156250000);
> -- 
> 2.27.0
> 
> 


I believe the patch is targeted to the "net" tree?
If so, the fix looks OK to me.


Thanks,
Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>