[OpenWrt-Devel] [RFC PATCH] ramips: remove patches for USB-dwc2

Alexey Dobrovolskiy dobrovolskiy.alexey at gmail.com
Wed May 6 17:28:34 EDT 2020


Hi,
I was able to get USB to work with v5.4 kernel by applying additional
changes [0].
As far as I understand, reset has been added to the mainline linux
kernel with the commit 83f8da562f8b5275fa1095b45762996971f7c607
Any chance to accept my patch from this thread?

[0] https://patchwork.ozlabs.org/project/openwrt/patch/20200506204815.1776-1-dobrovolskiy.alexey@gmail.com/

Best regards,
Alexey

ср, 22 апр. 2020 г. в 02:20, Alexey Dobrovolskiy
<dobrovolskiy.alexey at gmail.com>:
>
> Hi,
> USB does not work in master at 35f208da3c built with testing kernel
> 5.4 with or without 0032-USB-dwc2-add-device_reset.patch.
> (ramips, ZyXEL Keenetic)
> In boot log:
> [    6.888293] usbcore: registered new interface driver usbfs
> [    6.899641] usbcore: registered new interface driver hub
> [    6.910630] usbcore: registered new device driver usb
> [    6.930904] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
> [    6.955086] SCSI subsystem initialized
> [    6.970394] ehci-fsl: Freescale EHCI Host controller driver
> [    6.985235] ehci-platform: EHCI generic platform driver
> [    7.006666] dwc2 101c0000.otg: Configuration mismatch. dr_mode forced to host
> [    7.033189] dwc2 101c0000.otg: dwc2_core_reset: HANG! AHB Idle
> timeout GRSTCTL GRSTCTL_AHBIDLE
> [    7.050637] dwc2: probe of 101c0000.otg failed with error -16
> [    7.074662] usbcore: registered new interface driver usb-storage
>
> Full log attached to FS#2964
>
> Best regards,
> Alexey
>
> сб, 11 апр. 2020 г. в 01:37, Alexey Dobrovolsky <dobrovolskiy.alexey at gmail.com>:
> >
> > In FS#2738 we can see that patch first introduced in
> > e8ebcff ("ramips: add a explicit reset to dwc2")
> > breaks USB functionality since 18.06. Thus, this patch should be removed.
> >
> > Removed:
> > - 0032-USB-dwc2-add-device_reset.patch
> >
> > Fixes: FS#2738
> > Fixes: FS#2964
> >
> > Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey at gmail.com>
> > ---
> >
> > Notes:
> >     I can’t assess whether the root cause of the e8ebcff patch has been fixed
> >     in upstream or the patch needs to be rewritten. From the description
> >     of the bugs, it is only clear that in the latest OpenWrt versions this
> >     patch does not work correctly.
> >
> >     I built 18.06.2 and master at 91c61aae200ecf98e332482d395beda819d6a4fa
> >     for ZyXEL Keenetic with 0032-USB-dwc2-add-device_reset.patch removed
> >     as described in FS#2738 and USB works with a USB flash drive (FS#2964).
> >
> >  .../0032-USB-dwc2-add-device_reset.patch      | 29 -------------------
> >  .../0032-USB-dwc2-add-device_reset.patch      | 29 -------------------
> >  2 files changed, 58 deletions(-)
> >  delete mode 100644 target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
> >  delete mode 100644 target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch
> >
> > diff --git a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
> > deleted file mode 100644
> > index c04e2db661..0000000000
> > --- a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch
> > +++ /dev/null
> > @@ -1,29 +0,0 @@
> > -From a758e0870c6d1e4b0272f6e7f9efa9face5534bb Mon Sep 17 00:00:00 2001
> > -From: John Crispin <blogic at openwrt.org>
> > -Date: Sun, 27 Jul 2014 09:49:07 +0100
> > -Subject: [PATCH 32/53] USB: dwc2: add device_reset()
> > -
> > -Signed-off-by: John Crispin <blogic at openwrt.org>
> > ----
> > - drivers/usb/dwc2/hcd.c |    3 +++
> > - 1 file changed, 3 insertions(+)
> > -
> > ---- a/drivers/usb/dwc2/hcd.c
> > -+++ b/drivers/usb/dwc2/hcd.c
> > -@@ -48,6 +48,7 @@
> > - #include <linux/io.h>
> > - #include <linux/slab.h>
> > - #include <linux/usb.h>
> > -+#include <linux/reset.h>
> > -
> > - #include <linux/usb/hcd.h>
> > - #include <linux/usb/ch11.h>
> > -@@ -5215,6 +5216,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
> > -
> > -       retval = -ENOMEM;
> > -
> > -+      device_reset(hsotg->dev);
> > -+
> > -       hcfg = dwc2_readl(hsotg->regs + HCFG);
> > -       dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg);
> > -
> > diff --git a/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch b/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch
> > deleted file mode 100644
> > index ec837cda93..0000000000
> > --- a/target/linux/ramips/patches-5.4/0032-USB-dwc2-add-device_reset.patch
> > +++ /dev/null
> > @@ -1,29 +0,0 @@
> > -From a758e0870c6d1e4b0272f6e7f9efa9face5534bb Mon Sep 17 00:00:00 2001
> > -From: John Crispin <blogic at openwrt.org>
> > -Date: Sun, 27 Jul 2014 09:49:07 +0100
> > -Subject: [PATCH 32/53] USB: dwc2: add device_reset()
> > -
> > -Signed-off-by: John Crispin <blogic at openwrt.org>
> > ----
> > - drivers/usb/dwc2/hcd.c |    3 +++
> > - 1 file changed, 3 insertions(+)
> > -
> > ---- a/drivers/usb/dwc2/hcd.c
> > -+++ b/drivers/usb/dwc2/hcd.c
> > -@@ -49,6 +49,7 @@
> > - #include <linux/io.h>
> > - #include <linux/slab.h>
> > - #include <linux/usb.h>
> > -+#include <linux/reset.h>
> > -
> > - #include <linux/usb/hcd.h>
> > - #include <linux/usb/ch11.h>
> > -@@ -5023,6 +5024,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
> > -
> > -       retval = -ENOMEM;
> > -
> > -+      device_reset(hsotg->dev);
> > -+
> > -       hcfg = dwc2_readl(hsotg, HCFG);
> > -       dev_dbg(hsotg->dev, "hcfg=%08x\n", hcfg);
> > -
> > --
> > 2.17.1
> >

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list