Commit df14d214 authored by Dan Carpenter's avatar Dan Carpenter Committed by Bjorn Andersson
Browse files

clk: qcom: camcc-sc8280xp: Prevent error pointer dereference



If "regmap" is an error pointer then calling regmap_update_bits() will
crash.  We only need to call regmap_update_bits() if we had written to
it earlier.

Fixes: ff93872a ("clk: qcom: camcc-sc8280xp: Add sc8280xp CAMCC")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: default avatarAbel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/210d48ce-6ebc-4a6b-b30f-866d10d41a16@moroto.mountain


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent f6bda453
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3017,14 +3017,15 @@ static int camcc_sc8280xp_probe(struct platform_device *pdev)

	ret = qcom_cc_really_probe(pdev, &camcc_sc8280xp_desc, regmap);
	if (ret)
		goto err_put_rpm;
		goto err_disable;

	pm_runtime_put(&pdev->dev);

	return 0;

err_put_rpm:
err_disable:
	regmap_update_bits(regmap, 0xc1e4, BIT(0), 0);
err_put_rpm:
	pm_runtime_put_sync(&pdev->dev);

	return ret;