From ea9733ac4c268cc862ec1e414f066f192348ef5a Mon Sep 17 00:00:00 2001 From: qianfan Zhao Date: Tue, 16 Nov 2021 08:30:12 +0800 Subject: [PATCH] drivers: musb_gadget: Save endpoint desc to usb_ep->desc 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 Reviewed-by: Sean Anderson --- 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 1fef00b..7cca92b 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); -- 2.7.4