Commit 128fdbf3 authored by Manikanta Mylavarapu's avatar Manikanta Mylavarapu Committed by Bjorn Andersson
Browse files

soc: qcom: socinfo: fix revision check in qcom_socinfo_probe()



In success case, the revision holds a non-null pointer. The current
logic incorrectly returns an error for a non-null pointer, whereas
it should return an error for a null pointer.

The socinfo driver for IPQ9574 and IPQ5332 is currently broken,
resulting in the following error message
qcom-socinfo qcom-socinfo: probe with driver qcom-socinfo failed with
error -12

Add a null check for the revision to ensure it returns an error only in
failure case (null pointer).

Fixes: e694d2b5 ("soc: qcom: Add check devm_kasprintf() returned value")
Signed-off-by: default avatarManikanta Mylavarapu <quic_mmanikan@quicinc.com>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20241016144852.2888679-1-quic_mmanikan@quicinc.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent f489f6c6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -786,7 +786,7 @@ static int qcom_socinfo_probe(struct platform_device *pdev)
	qs->attr.revision = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%u.%u",
					   SOCINFO_MAJOR(le32_to_cpu(info->ver)),
					   SOCINFO_MINOR(le32_to_cpu(info->ver)));
	if (!qs->attr.soc_id || qs->attr.revision)
	if (!qs->attr.soc_id || !qs->attr.revision)
		return -ENOMEM;

	if (offsetof(struct socinfo, serial_num) <= item_size) {