Re: [PATCH] slimbus: qcom-ngd-ctrl: fix ngd register base address
Luca Weiss <[email protected]> Fri, 10 Jul 2026 11:40:33 +0200
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
Hi Federico, On 2026-07-09 19:00, Federico Amedeo Izzo via B4 Relay wrote: > From: Federico Amedeo Izzo <[email protected]> > > The slimbus controller register base was calculated using the > controller ID and the register size, producing wrong results for ID > > 1. > > The expression reduces to ngd->base = ctrl->base for controller with ID > = 1; > but for ID > 1 the other factors produce a wrong base address. > This bug caused a crash while trying to bring-up the secondary > slimbus controller (ID = 3) on oneplus-enchilada with sdm845. > > In practice, the correct base address for each slimbus controller can > be > obtained from the device-tree, so there is no need for further > calculations. > > This was validated by reading the version register from the WCN3990 > slim > interface on oneplus-enchilada. > > --- Please remove the ---, otherwise your S-o-b will be dropped when applying the patch. Also Fixes: ? > Signed-off-by: Federico Amedeo Izzo <[email protected]> > --- > drivers/slimbus/qcom-ngd-ctrl.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/slimbus/qcom-ngd-ctrl.c > b/drivers/slimbus/qcom-ngd-ctrl.c > index 80877e951849..91932f8d021b 100644 > --- a/drivers/slimbus/qcom-ngd-ctrl.c > +++ b/drivers/slimbus/qcom-ngd-ctrl.c > @@ -1547,8 +1547,7 @@ static int of_qcom_slim_ngd_register(struct > device *parent, > kfree(ngd); > return ret; > } > - ngd->base = ctrl->base + ngd->id * data->offset + > - (ngd->id - 1) * data->size; > + ngd->base = ctrl->base + data->offset; > > return 0; > } > > --- > base-commit: b9810cd75b9fb56a3425d391cba3f608502bd474 > change-id: 20260709-qcom-ngd-register-base-fix-a59713a184b8 > > Best regards, > -- > Federico Amedeo Izzo <[email protected]>