[PATCH] drivers: musb_gadget: Save endpoint desc to usb_ep->desc

Sean Anderson seanga2 at gmail.com
Tue Nov 16 01:43:49 CET 2021


On 11/15/21 7:30 PM, qianfanguijin at qq.com wrote:
> From: qianfan Zhao <qianfanguijin at 163.com>
> 
> Fix fastboot flash bug.
> 
> If the downloading file size is equal to the partition size, "fastboot
> flash" can't work, at least in sunxi platform, because used an
> uninitalized point: ep->desc.
> 
> This patch also fixed 'data abort' bug in am335x platform.
> 
> Reproduce: fastboot flash loader1 spl/sunxi-spl.bin.
> 
> Signed-off-by: qianfan Zhao <qianfanguijin at 163.com>
> ---
>   drivers/usb/musb-new/musb_gadget.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/musb-new/musb_gadget.c b/drivers/usb/musb-new/musb_gadget.c
> index 1fef00b292..7cca92b970 100644
> --- a/drivers/usb/musb-new/musb_gadget.c
> +++ b/drivers/usb/musb-new/musb_gadget.c
> @@ -1188,6 +1188,7 @@ static int musb_gadget_enable(struct usb_ep *ep,
>   	} else
>   		musb_ep->dma = NULL;
>   
> +	musb_ep->end_point.desc = desc;
>   	musb_ep->desc = desc;
>   	musb_ep->busy = 0;
>   	musb_ep->wedged = 0;
> @@ -1245,9 +1246,7 @@ static int musb_gadget_disable(struct usb_ep *ep)
>   	}
>   
>   	musb_ep->desc = NULL;
> -#ifndef __UBOOT__
>   	musb_ep->end_point.desc = NULL;
> -#endif
>   
>   	/* abort all pending DMA and requests */
>   	nuke(musb_ep, -ESHUTDOWN);
> 

Reviewed-by: Sean Anderson <seanga2 at gmail.com>


More information about the U-Boot mailing list