Re: [PATCH net-next] net: ethernet: ti: am65-cpsw: Fix PM runtime leakage in am65_cpsw_nuss_ndo_slave_open()

From: Roger Quadros
Date: Mon Dec 12 2022 - 04:22:57 EST




On 10/12/2022 02:54, Saeed Mahameed wrote:
> On 08 Dec 12:55, Roger Quadros wrote:
>> Ensure pm_runtime_put() is issued in error path.
>>
>> Reported-by: Jakub Kicinski <kuba@xxxxxxxxxx>
>> Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx>
>
>
> Reviewed-by: Saeed Mahameed <saeed@xxxxxxxxxx>
>
>
> [...]
>
>> @@ -622,6 +623,10 @@ static int am65_cpsw_nuss_ndo_slave_open(struct net_device *ndev)
>> error_cleanup:
>>     am65_cpsw_nuss_ndo_slave_stop(ndev);
>
> BTW, while looking at the ndo_slave_stop() call, it seems to abort if am65_cpsw_nuss_common_stop() fails, but looking deeper at that and it seems am65_cpsw_nuss_common_stop() can never fail, so you might want to fix that.

You mean we should change it to return void and get rid of error checks on that function. Right?

>
>>     return ret;
>> +
>> +runtime_put:
>> +    pm_runtime_put(common->dev);
>> +    return ret;
>> }
>>
>> static void am65_cpsw_nuss_rx_cleanup(void *data, dma_addr_t desc_dma)
>> -- 
>> 2.34.1
>>

cheers,
-roger