[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <40a874eb-1a2b-533e-ee3e-bd90510abaf9@baylibre.com>
Date: Wed, 27 May 2020 10:17:31 +0200
From: Neil Armstrong <narmstrong@...libre.com>
To: balbi@...nel.org, gregkh@...uxfoundation.org
Cc: Martin Blumenstingl <martin.blumenstingl@...glemail.com>,
linux-usb@...r.kernel.org, linux-amlogic@...ts.infradead.org,
hanjie.lin@...ogic.com, yue.wang@...ogic.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
"kernelci.org bot" <bot@...nelci.org>
Subject: Re: [PATCH for-5.8 2/2] usb: dwc3: meson-g12a: fix USB2 PHY
initialization on G12A and A1 SoCs
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@...nelci.org>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
> ---
> 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@...libre.com>
Thanks,
Neil
[1] http://lore.kernel.org/r/ffe2c64c-62ed-9b59-3754-7ede0f0203be@collabora.com
Powered by blists - more mailing lists