phy: qcom: Fix ret is uninitialised
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Wed, 6 Aug 2025 16:55:04 +0000 (17:55 +0100)
committerCasey Connolly <casey.connolly@linaro.org>
Wed, 13 Aug 2025 13:13:16 +0000 (15:13 +0200)
In qcom_snps_eusb2_phy_probe after the call to devm_clk_get if an error
is found then ret is printed but has not been assigned to by the code.
Decode the error from the pointer and assign it to ret.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250806-phy_qcom_snps-v1-1-5cda830026c7@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
drivers/phy/qcom/phy-qcom-snps-eusb2.c

index b2655ac..28502c4 100644 (file)
@@ -331,8 +331,9 @@ static int qcom_snps_eusb2_phy_probe(struct udevice *dev)
 
        qcom_snps_eusb2->ref_clk = devm_clk_get(dev, "ref");
        if (IS_ERR(qcom_snps_eusb2->ref_clk)) {
+               ret = PTR_ERR(qcom_snps_eusb2->ref_clk);
                printf("%s: failed to get ref clk %d\n", __func__, ret);
-               return PTR_ERR(qcom_snps_eusb2->ref_clk);
+               return ret;
        }
 
        ret = reset_get_bulk(dev, &qcom_snps_eusb2->resets);