Re: [PATCH] net: ethernet: ti: am65-cpsw: Fix devlink port register sequence
From: Siddharth Vadapalli
Date: Mon Jul 04 2022 - 00:44:09 EST
Hello Jakub,
On 25/06/22 05:12, Jakub Kicinski wrote:
> On Thu, 23 Jun 2022 10:13:37 +0530 Siddharth Vadapalli wrote:
>> Renaming interfaces using udevd depends on the interface being registered
>> before its netdev is registered. Otherwise, udevd reads an empty
>> phys_port_name value, resulting in the interface not being renamed.
>>
>> Fix this by registering the interface before registering its netdev
>> by invoking am65_cpsw_nuss_register_devlink() before invoking
>> register_netdev() for the interface.
>>
>> Signed-off-by: Siddharth Vadapalli <s-vadapalli@xxxxxx>
>
> Please add a Fixes tag and [PATCH net] in the subject.
Thank you for reviewing the patch. I will add the Fixes tag and include net in
the subject of the v2 patch.
>
>> diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
>> index fb92d4c1547d..47a6c4e5360b 100644
>> --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
>> +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
>> @@ -2527,6 +2527,10 @@ static int am65_cpsw_nuss_register_ndevs(struct am65_cpsw_common *common)
>> return ret;
>> }
>>
>> + ret = am65_cpsw_nuss_register_devlink(common);
>> + if (ret)
>> + goto err_cleanup_ndev;
>
> You need to take the devlink_port_type_eth_set() out of this function
> if it's now called before netdev registration and call it after netdev
> registration. Otherwise devlink will generate a netlink notification
> about the port state change with a half-initialized netdev.
I will fix this and post the v2 patch.
Regards,
Siddharth.