Re: [PATCH v3 05/18] clk: qcom: common: Handle runtime power management in qcom_cc_really_probe

From: Jagadeesh Kona
Date: Fri Mar 28 2025 - 06:42:12 EST




On 3/27/2025 9:28 PM, Bryan O'Donoghue wrote:
> On 27/03/2025 09:52, Jagadeesh Kona wrote:
>> -        return ret;
>> +        goto put_rpm;
>> +
>> +    ret = qcom_cc_icc_register(dev, desc);
>> +
>> +put_rpm:
>> +    if (desc->use_rpm)
>> +        pm_runtime_put(dev);
>>   -    return qcom_cc_icc_register(dev, desc);
>> +    return ret;
>>   }
>>   EXPORT_SYMBOL_GPL(qcom_cc_really_probe);
>
> Doesn't look right you're missing the put if register goes wrong
>

The intention is to call pm_runtime_put() regardless of the return value
from qcom_cc_icc_register(), as it is the final API call. Therefore, the
return type is not checked, and pm_runtime_put() is called in both success
and failure cases before returning the final return code.

Thanks,
Jagadeesh

>     ret = qcom_cc_icc_register(dev, desc);
>
>     if (ret)
>         goto put_rpm;
>
>     return 0;
>
> put_rpm:
>     if (desc->us_rpm)
>         pm_runtime_put();
>
>     return ret;