]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc: qcom: pdr: fix parsing of domains lists
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Fri, 21 Jun 2024 22:03:41 +0000 (01:03 +0300)
committerBjorn Andersson <andersson@kernel.org>
Mon, 24 Jun 2024 03:41:39 +0000 (22:41 -0500)
While parsing the domains list, start offsets from 0 rather than from
domains_read. The domains_read is equal to the total count of the
domains we have seen, while the domains list in the message starts from
offset 0.

Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart helpers")
Tested-by: Steev Klimaszewski <steev@kali.org>
Tested-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Reviewed-by: Chris Lew <quic_clew@quicinc.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240622-qcom-pd-mapper-v9-2-a84ee3591c8e@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/soc/qcom/pdr_interface.c

index 76a62c2ecc58a915798efec49e16ea4113c238a6..216166e98fae41f7c7a9e0359faf16ce6cc7bac3 100644 (file)
@@ -417,7 +417,7 @@ static int pdr_locate_service(struct pdr_handle *pdr, struct pdr_service *pds)
                if (ret < 0)
                        goto out;
 
-               for (i = domains_read; i < resp->domain_list_len; i++) {
+               for (i = 0; i < resp->domain_list_len; i++) {
                        entry = &resp->domain_list[i];
 
                        if (strnlen(entry->name, sizeof(entry->name)) == sizeof(entry->name))