Recent change to handle platforms with only single power domain broke
pronto-v3 which requires power domains and doesn't have fallback voltage
regulators in case power domains are missing. Add a check to verify
the number of fallback voltage regulators before using the code which
handles single power domain situation.

Fixes: 65991ea8a6d1 ("remoteproc: qcom_wcnss: Handle platforms with only single 
power domain")
Signed-off-by: Matti Lehtimäki <matti.lehtim...@gmail.com>
---
 drivers/remoteproc/qcom_wcnss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c
index 775b056d795a..2c7e519a2254 100644
--- a/drivers/remoteproc/qcom_wcnss.c
+++ b/drivers/remoteproc/qcom_wcnss.c
@@ -456,7 +456,8 @@ static int wcnss_init_regulators(struct qcom_wcnss *wcnss,
        if (wcnss->num_pds) {
                info += wcnss->num_pds;
                /* Handle single power domain case */
-               num_vregs += num_pd_vregs - wcnss->num_pds;
+               if (wcnss->num_pds < num_pd_vregs)
+                       num_vregs += num_pd_vregs - wcnss->num_pds;
        } else {
                num_vregs += num_pd_vregs;
        }
-- 
2.43.0


Reply via email to