summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManikanta Mylavarapu <quic_mmanikan@quicinc.com>2024-10-16 20:18:52 +0530
committerBjorn Andersson <andersson@kernel.org>2024-10-24 09:46:20 -0500
commit128fdbf36cddc2a901c4889ba1c89fa9f2643f2c (patch)
treec7833448278a5d661d9cc5c7c3e5fe5d103a0eec
parentf489f6c6eb26482010470d77bad3901a3de1b166 (diff)
downloadlinux-stable-128fdbf36cddc2a901c4889ba1c89fa9f2643f2c.tar.gz
linux-stable-128fdbf36cddc2a901c4889ba1c89fa9f2643f2c.tar.bz2
linux-stable-128fdbf36cddc2a901c4889ba1c89fa9f2643f2c.zip
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: e694d2b5c58b ("soc: qcom: Add check devm_kasprintf() returned value") Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20241016144852.2888679-1-quic_mmanikan@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--drivers/soc/qcom/socinfo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c
index e42d86d5f6f9..c3b877832521 100644
--- a/drivers/soc/qcom/socinfo.c
+++ b/drivers/soc/qcom/socinfo.c
@@ -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) {