diff options
author | Manikanta Mylavarapu <quic_mmanikan@quicinc.com> | 2024-10-16 20:18:52 +0530 |
---|---|---|
committer | Bjorn Andersson <andersson@kernel.org> | 2024-10-24 09:46:20 -0500 |
commit | 128fdbf36cddc2a901c4889ba1c89fa9f2643f2c (patch) | |
tree | c7833448278a5d661d9cc5c7c3e5fe5d103a0eec | |
parent | f489f6c6eb26482010470d77bad3901a3de1b166 (diff) | |
download | linux-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.c | 2 |
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) { |