On Mon May 12, 2025 at 12:40 AM WEST, Matti Lehtimäki wrote: > 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.
Thanks! I've tested this on MSM8953/SDM632 Fairphone 3 which is broken on v6.15-rc5 without this patch! I've also heard of MSM8909 being broken in v6.15-rc, and msm8976 also uses qcom,pronto-v3-pil. Hopefully this can still go into the remaining rc's so v6.15 final works. Tested-by: Luca Weiss <luca.we...@fairphone.com> # sdm632-fairphone-fp3 Regards Luca > > 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; > }