Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > On Wed, May 27, 2020 at 10:17:31AM +0200, Neil Armstrong wrote: >> Hi Martin, >> >> On 26/05/2020 22:29, Martin Blumenstingl wrote: >> > dwc3_meson_g12a_usb2_init_phy() crashes with NULL pointer on an SM1 >> > board (which uses the same USB setup as G12A) dereference as reported >> > by the Kernel CI bot. This is because of the following call flow: >> > dwc3_meson_g12a_probe >> > priv->drvdata->setup_regmaps >> > dwc3_meson_g12a_setup_regmaps >> > priv->usb2_ports is still 0 so priv->u2p_regmap[i] will be NULL >> > dwc3_meson_g12a_get_phys >> > initializes priv->usb2_ports >> > priv->drvdata->usb_init >> > dwc3_meson_g12a_usb_init >> > dwc3_meson_g12a_usb_init_glue >> > dwc3_meson_g12a_usb2_init >> > priv->drvdata->usb2_init_phy >> > dwc3_meson_g12a_usb2_init_phy >> > dereferences priv->u2p_regmap[i] >> > >> > Call priv->drvdata->setup_regmaps only after dwc3_meson_g12a_get_phys so >> > priv->usb2_ports is initialized and the regmaps will be set up >> > correctly. This fixes the NULL dereference later on. >> > >> > Fixes: 013af227f58a97 ("usb: dwc3: meson-g12a: handle the phy and glue registers separately") >> > Reported-by: "kernelci.org bot" <bot@xxxxxxxxxxxx> >> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> >> > --- >> > drivers/usb/dwc3/dwc3-meson-g12a.c | 8 ++++---- >> > 1 file changed, 4 insertions(+), 4 deletions(-) >> > >> > diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c >> > index ce5388338389..1f7f4d88ed9d 100644 >> > --- a/drivers/usb/dwc3/dwc3-meson-g12a.c >> > +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c >> >> [...] >> >> Fixes regression reported at [1] on SEI510 board based on Amlogic G12A. >> >> Felipe, Greg, can this be queued on uxb-next for 5.8 ? >> >> Acked-by: Neil Armstrong <narmstron@xxxxxxxxxxxx> > > I can take this and patch 1/2 here if Felipe acks them. Sure thing, Greg. Thanks. Acked-by: Felipe Balbi <balbi@xxxxxxxxxx> -- balbi
Attachment:
signature.asc
Description: PGP signature