clk: qcom: Fix missing error check for dev_pm_domain_attach()
authorWentao Liang <vulab@iscas.ac.cn>
Tue, 11 Feb 2025 09:20:17 +0000 (17:20 +0800)
committerBjorn Andersson <andersson@kernel.org>
Wed, 16 Apr 2025 02:37:39 +0000 (21:37 -0500)
In the current implementation, the return value of dev_pm_domain_attach()
is not checked. This can lead to silent failures if the function fails,
as the code would continue execution and return 0, ignoring the error.

This patch adds a check for the return value of dev_pm_domain_attach().
If the function fails, an error message is logged using dev_err_probe(),
and the error is propagated to the existing error handling path `err`,
which ensures proper cleanup by calling clk_notifier_unregister().

Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Link: https://lore.kernel.org/r/20250211092017.562-1-vulab@iscas.ac.cn
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/apcs-sdx55.c

index 76ece6c4a969266aecb32806269c791712f98804..3ba01622d8f0ef99dc5f63c0e83085cd53f38621 100644 (file)
@@ -111,7 +111,11 @@ static int qcom_apcs_sdx55_clk_probe(struct platform_device *pdev)
         * driver, there seems to be no better place to do this. So do it here!
         */
        cpu_dev = get_cpu_device(0);
-       dev_pm_domain_attach(cpu_dev, true);
+       ret = dev_pm_domain_attach(cpu_dev, true);
+       if (ret) {
+               dev_err_probe(dev, ret, "can't get PM domain: %d\n", ret);
+               goto err;
+       }
 
        return 0;