[PATCH] usb: gadget: dwc2_udc_otg: set ep's desc during enable/disable

Fastboot support has been broken on platforms using dwc2 controller since the gadget gets its max packet size from it. This patch is the equivalent of 723fd5668ff which fixed the same issue but for the chipidea controller.
Fixes: 27c9141b111 ("usb: gadget: fastboot: use correct max packet size")
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com --- drivers/usb/gadget/dwc2_udc_otg.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 2f318144421..fb10884755b 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -655,6 +655,7 @@ static int dwc2_ep_enable(struct usb_ep *_ep, return -ESHUTDOWN; }
+ _ep->desc = desc; ep->stopped = 0; ep->desc = desc; ep->pio_irqs = 0; @@ -695,6 +696,7 @@ static int dwc2_ep_disable(struct usb_ep *_ep) /* Nuke all pending requests */ nuke(ep, -ESHUTDOWN);
+ _ep->desc = NULL; ep->desc = 0; ep->stopped = 1;

Hi,
On 06/01/2022 16:02, Gary Bisson wrote:
Fastboot support has been broken on platforms using dwc2 controller since the gadget gets its max packet size from it. This patch is the equivalent of 723fd5668ff which fixed the same issue but for the chipidea controller.
Fixes: 27c9141b111 ("usb: gadget: fastboot: use correct max packet size")
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
drivers/usb/gadget/dwc2_udc_otg.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 2f318144421..fb10884755b 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -655,6 +655,7 @@ static int dwc2_ep_enable(struct usb_ep *_ep, return -ESHUTDOWN; }
- _ep->desc = desc; ep->stopped = 0; ep->desc = desc;
Indeed the _ep and ep was confusing when looking code
ep->pio_irqs = 0; @@ -695,6 +696,7 @@ static int dwc2_ep_disable(struct usb_ep *_ep) /* Nuke all pending requests */ nuke(ep, -ESHUTDOWN);
- _ep->desc = NULL; ep->desc = 0; ep->stopped = 1;
An off-tree patch removed from our Yukawa backlog, thanks !
Reviewed-by: Neil Armstrong narmstrong@baylibre.com
Neil

On 1/6/22 16:21, Neil Armstrong wrote:
Hi,
On 06/01/2022 16:02, Gary Bisson wrote:
Fastboot support has been broken on platforms using dwc2 controller since the gadget gets its max packet size from it. This patch is the equivalent of 723fd5668ff which fixed the same issue but for the chipidea controller.
Fixes: 27c9141b111 ("usb: gadget: fastboot: use correct max packet size")
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
drivers/usb/gadget/dwc2_udc_otg.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 2f318144421..fb10884755b 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -655,6 +655,7 @@ static int dwc2_ep_enable(struct usb_ep *_ep, return -ESHUTDOWN; }
- _ep->desc = desc; ep->stopped = 0; ep->desc = desc;
Indeed the _ep and ep was confusing when looking code
ep->pio_irqs = 0; @@ -695,6 +696,7 @@ static int dwc2_ep_disable(struct usb_ep *_ep) /* Nuke all pending requests */ nuke(ep, -ESHUTDOWN);
- _ep->desc = NULL; ep->desc = 0; ep->stopped = 1;
An off-tree patch removed from our Yukawa backlog, thanks !
Reviewed-by: Neil Armstrong narmstrong@baylibre.com
+CC Tom, can you pick this one for CURRENT 2022.01 release?
Thank you

Hi Gary,
Thank you for your patch.
Marek Vasut marex@denx.de writes:
On 1/6/22 16:21, Neil Armstrong wrote:
Hi,
On 06/01/2022 16:02, Gary Bisson wrote:
Fastboot support has been broken on platforms using dwc2 controller since the gadget gets its max packet size from it. This patch is the equivalent of 723fd5668ff which fixed the same issue but for the chipidea controller.
Fixes: 27c9141b111 ("usb: gadget: fastboot: use correct max packet size")
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com
drivers/usb/gadget/dwc2_udc_otg.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index 2f318144421..fb10884755b 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -655,6 +655,7 @@ static int dwc2_ep_enable(struct usb_ep *_ep, return -ESHUTDOWN; }
- _ep->desc = desc; ep->stopped = 0; ep->desc = desc;
Indeed the _ep and ep was confusing when looking code
ep->pio_irqs = 0; @@ -695,6 +696,7 @@ static int dwc2_ep_disable(struct usb_ep *_ep) /* Nuke all pending requests */ nuke(ep, -ESHUTDOWN);
- _ep->desc = NULL; ep->desc = 0; ep->stopped = 1;
An off-tree patch removed from our Yukawa backlog, thanks !
Reviewed-by: Neil Armstrong narmstrong@baylibre.com
I can confirm this fixes flashing issues on VIM3/VIM3L boards when flashing AOSP(yukawa) with fastboot.
Tested-by: Mattijs Korpershoek mkorpershoek@baylibre.com
+CC Tom, can you pick this one for CURRENT 2022.01 release?
Thank you

On Thu, Jan 06, 2022 at 04:02:08PM +0100, Gary Bisson wrote:
Fastboot support has been broken on platforms using dwc2 controller since the gadget gets its max packet size from it. This patch is the equivalent of 723fd5668ff which fixed the same issue but for the chipidea controller.
Fixes: 27c9141b111 ("usb: gadget: fastboot: use correct max packet size")
Signed-off-by: Gary Bisson gary.bisson@boundarydevices.com Reviewed-by: Neil Armstrong narmstrong@baylibre.com Tested-by: Mattijs Korpershoek mkorpershoek@baylibre.com
Applied to u-boot/master, thanks!
participants (5)
-
Gary Bisson
-
Marek Vasut
-
Mattijs Korpershoek
-
Neil Armstrong
-
Tom Rini