Message ID | 20210601084830.260196-1-narmstrong@baylibre.com |
---|---|
State | New |
Headers | show |
Series | usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled | expand |
On Tue, Jun 1, 2021 at 10:49 AM Neil Armstrong <narmstrong@baylibre.com> wrote: > > When only PHY1 is used (for example on Odroid-HC4), the regmap init code > uses the usb2 ports when doesn't initialize the PHY1 regmap entry. > > This fixes: > Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 > ... > pc : regmap_update_bits_base+0x40/0xa0 > lr : dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8 > ... > Call trace: > regmap_update_bits_base+0x40/0xa0 > dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8 > dwc3_meson_g12a_usb2_init+0x7c/0xc8 > dwc3_meson_g12a_usb_init+0x28/0x48 > dwc3_meson_g12a_probe+0x298/0x540 > platform_probe+0x70/0xe0 > really_probe+0xf0/0x4d8 > driver_probe_device+0xfc/0x168 > ... > > Fixes: 013af227f58a97 ("usb: dwc3: meson-g12a: handle the phy and glue registers separately") > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
On Tue, Jun 01, 2021 at 10:48:30AM +0200, Neil Armstrong wrote: > When only PHY1 is used (for example on Odroid-HC4), the regmap init code > uses the usb2 ports when doesn't initialize the PHY1 regmap entry. <snip> Meta comment, you signed this, and it worked! Looking up https://lore.kernel.org/r/20210601084830.260196-1-narmstrong%40baylibre.com Grabbing thread from lore.kernel.org/linux-amlogic/20210601084830.260196-1-narmstrong%40baylibre.com/t.mbox.gz Analyzing 2 messages in the thread Checking attestation on all messages, may take a moment... --- ✓ [PATCH] usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled + Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> (✓ DKIM/lists.infradead.org) --- ✓ Signed: openpgp/narmstrong@baylibre.com ✗ BADSIG: DKIM/baylibre-com.20150623.gappssmtp.com ✓ Signed: DKIM/lists.infradead.org (From: narmstrong@baylibre.com) --- Total patches: 1 --- Link: https://lore.kernel.org/r/20210601084830.260196-1-narmstrong@baylibre.com Base: not found Applying: usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled Odd that DKIM didn't work for baylibre-com, but hey, I'll take a real signature over DKIM anyday! thanks for doing this. greg k-h
On Fri, Jun 04, 2021 at 12:58:16PM +0200, Greg KH wrote: > Meta comment, you signed this, and it worked! NOICE. \o/ > Looking up https://lore.kernel.org/r/20210601084830.260196-1-narmstrong%40baylibre.com > Grabbing thread from lore.kernel.org/linux-amlogic/20210601084830.260196-1-narmstrong%40baylibre.com/t.mbox.gz > Analyzing 2 messages in the thread > Checking attestation on all messages, may take a moment... > --- > ✓ [PATCH] usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled > + Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> (✓ DKIM/lists.infradead.org) > --- > ✓ Signed: openpgp/narmstrong@baylibre.com > ✗ BADSIG: DKIM/baylibre-com.20150623.gappssmtp.com > ✓ Signed: DKIM/lists.infradead.org (From: narmstrong@baylibre.com) > --- > Total patches: 1 > --- > Link: https://lore.kernel.org/r/20210601084830.260196-1-narmstrong@baylibre.com > Base: not found > Applying: usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled > > > Odd that DKIM didn't work for baylibre-com, but hey, I'll take a real > signature over DKIM anyday! That lookup happened to grab the thread from linux-amlogic, which is mailman2-managed and is known to break DKIM. I'll try to fix our configuration so that known-DKIM-friendly sources are given priority. This way, when a thread exists on multiple lists, you'll get the one more likely to pass DKIM checks. > thanks for doing this. Yes, thanks! Hopefully, more people will start doing this. -K
On Fri, Jun 04, 2021 at 11:07:42AM -0400, Konstantin Ryabitsev wrote: > > Odd that DKIM didn't work for baylibre-com, but hey, I'll take a real > > signature over DKIM anyday! > > That lookup happened to grab the thread from linux-amlogic, which is > mailman2-managed and is known to break DKIM. I'll try to fix our configuration > so that known-DKIM-friendly sources are given priority. This way, when a thread > exists on multiple lists, you'll get the one more likely to pass DKIM checks. This is now in place -- lore will now prefer results from DKIM-friendly sources. E.g. grabbing the same message-id will now return the thread from linux-usb (via vger) instead of linux-amlogic (via infradead). $ b4 am -o/tmp 20210601084830.260196-1-narmstrong@baylibre.com Looking up https://lore.kernel.org/r/20210601084830.260196-1-narmstrong%40baylibre.com Grabbing thread from lore.kernel.org/linux-usb/20210601084830.260196-1-narmstrong%40baylibre.com/t.mbox.gz Analyzing 4 messages in the thread Checking attestation on all messages, may take a moment... --- ✓ [PATCH] usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled + Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> (✓ DKIM/googlemail.com) --- ✓ Signed: openpgp/narmstrong@baylibre.com ✓ Signed: DKIM/baylibre-com.20150623.gappssmtp.com (From: narmstrong@baylibre.com) --- Total patches: 1 --- Link: https://lore.kernel.org/r/20210601084830.260196-1-narmstrong@baylibre.com Base: not found git am /tmp/20210601_narmstrong_usb_dwc3_meson_g12a_fix_usb2_phy_glue_init_when_phy0_is_disabled.mbx -K
On Fri, Jun 04, 2021 at 12:46:01PM -0400, Konstantin Ryabitsev wrote: > On Fri, Jun 04, 2021 at 11:07:42AM -0400, Konstantin Ryabitsev wrote: > > > Odd that DKIM didn't work for baylibre-com, but hey, I'll take a real > > > signature over DKIM anyday! > > > > That lookup happened to grab the thread from linux-amlogic, which is > > mailman2-managed and is known to break DKIM. I'll try to fix our configuration > > so that known-DKIM-friendly sources are given priority. This way, when a thread > > exists on multiple lists, you'll get the one more likely to pass DKIM checks. > > This is now in place -- lore will now prefer results from DKIM-friendly > sources. E.g. grabbing the same message-id will now return the thread from > linux-usb (via vger) instead of linux-amlogic (via infradead). > > $ b4 am -o/tmp 20210601084830.260196-1-narmstrong@baylibre.com > Looking up https://lore.kernel.org/r/20210601084830.260196-1-narmstrong%40baylibre.com > Grabbing thread from lore.kernel.org/linux-usb/20210601084830.260196-1-narmstrong%40baylibre.com/t.mbox.gz > Analyzing 4 messages in the thread > Checking attestation on all messages, may take a moment... > --- > ✓ [PATCH] usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled > + Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> (✓ DKIM/googlemail.com) > --- > ✓ Signed: openpgp/narmstrong@baylibre.com > ✓ Signed: DKIM/baylibre-com.20150623.gappssmtp.com (From: narmstrong@baylibre.com) > --- > Total patches: 1 > --- > Link: https://lore.kernel.org/r/20210601084830.260196-1-narmstrong@baylibre.com > Base: not found > git am /tmp/20210601_narmstrong_usb_dwc3_meson_g12a_fix_usb2_phy_glue_init_when_phy0_is_disabled.mbx This is great, thanks for changing this on the lore backend, and for all of this work in the firstplace. greg k-h
On 04/06/2021 18:46, Konstantin Ryabitsev wrote: > On Fri, Jun 04, 2021 at 11:07:42AM -0400, Konstantin Ryabitsev wrote: >>> Odd that DKIM didn't work for baylibre-com, but hey, I'll take a real >>> signature over DKIM anyday! >> >> That lookup happened to grab the thread from linux-amlogic, which is >> mailman2-managed and is known to break DKIM. I'll try to fix our configuration >> so that known-DKIM-friendly sources are given priority. This way, when a thread >> exists on multiple lists, you'll get the one more likely to pass DKIM checks. > > This is now in place -- lore will now prefer results from DKIM-friendly > sources. E.g. grabbing the same message-id will now return the thread from > linux-usb (via vger) instead of linux-amlogic (via infradead). > > $ b4 am -o/tmp 20210601084830.260196-1-narmstrong@baylibre.com > Looking up https://lore.kernel.org/r/20210601084830.260196-1-narmstrong%40baylibre.com > Grabbing thread from lore.kernel.org/linux-usb/20210601084830.260196-1-narmstrong%40baylibre.com/t.mbox.gz > Analyzing 4 messages in the thread > Checking attestation on all messages, may take a moment... > --- > ✓ [PATCH] usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled > + Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> (✓ DKIM/googlemail.com) > --- > ✓ Signed: openpgp/narmstrong@baylibre.com > ✓ Signed: DKIM/baylibre-com.20150623.gappssmtp.com (From: narmstrong@baylibre.com) > --- > Total patches: 1 > --- > Link: https://lore.kernel.org/r/20210601084830.260196-1-narmstrong@baylibre.com > Base: not found > git am /tmp/20210601_narmstrong_usb_dwc3_meson_g12a_fix_usb2_phy_glue_init_when_phy0_is_disabled.mbx > > -K > Nice, thanks for this ! Neil
diff --git a/drivers/usb/dwc3/dwc3-meson-g12a.c b/drivers/usb/dwc3/dwc3-meson-g12a.c index bdf1f98dfad8..9c944bc6d555 100644 --- a/drivers/usb/dwc3/dwc3-meson-g12a.c +++ b/drivers/usb/dwc3/dwc3-meson-g12a.c @@ -651,7 +651,7 @@ static int dwc3_meson_g12a_setup_regmaps(struct dwc3_meson_g12a *priv, return PTR_ERR(priv->usb_glue_regmap); /* Create a regmap for each USB2 PHY control register set */ - for (i = 0; i < priv->usb2_ports; i++) { + for (i = 0; i < priv->drvdata->num_phys; i++) { struct regmap_config u2p_regmap_config = { .reg_bits = 8, .val_bits = 32, @@ -659,6 +659,9 @@ static int dwc3_meson_g12a_setup_regmaps(struct dwc3_meson_g12a *priv, .max_register = U2P_R1, }; + if (!strstr(priv->drvdata->phy_names[i], "usb2")) + continue; + u2p_regmap_config.name = devm_kasprintf(priv->dev, GFP_KERNEL, "u2p-%d", i); if (!u2p_regmap_config.name)
When only PHY1 is used (for example on Odroid-HC4), the regmap init code uses the usb2 ports when doesn't initialize the PHY1 regmap entry. This fixes: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... pc : regmap_update_bits_base+0x40/0xa0 lr : dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8 ... Call trace: regmap_update_bits_base+0x40/0xa0 dwc3_meson_g12a_usb2_init_phy+0x4c/0xf8 dwc3_meson_g12a_usb2_init+0x7c/0xc8 dwc3_meson_g12a_usb_init+0x28/0x48 dwc3_meson_g12a_probe+0x298/0x540 platform_probe+0x70/0xe0 really_probe+0xf0/0x4d8 driver_probe_device+0xfc/0x168 ... Fixes: 013af227f58a97 ("usb: dwc3: meson-g12a: handle the phy and glue registers separately") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- drivers/usb/dwc3/dwc3-meson-g12a.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)