diff mbox series

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

Message ID 20220106150208.1316946-1-gary.bisson@boundarydevices.com
State Accepted
Headers show
Series usb: gadget: dwc2_udc_otg: set ep's desc during enable/disable | expand

Commit Message

Gary Bisson Jan. 6, 2022, 3:02 p.m. UTC
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(+)

Comments

Neil Armstrong Jan. 6, 2022, 3:21 p.m. UTC | #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
Marek Vasut Jan. 6, 2022, 7:55 p.m. UTC | #2
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
Mattijs Korpershoek Jan. 7, 2022, 3:25 p.m. UTC | #3
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
Tom Rini Jan. 9, 2022, 1:28 a.m. UTC | #4
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!
diff mbox series

Patch

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;