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;