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

From: qianfan Zhao qianfanguijin@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@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);

On 11/15/21 7:30 PM, qianfanguijin@qq.com wrote:
From: qianfan Zhao qianfanguijin@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@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@gmail.com

On Tue, Nov 16, 2021 at 08:30:12AM +0800, qianfanguijin@qq.com wrote:
From: qianfan Zhao qianfanguijin@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@163.com Reviewed-by: Sean Anderson seanga2@gmail.com
Applied to u-boot/master, thanks!
participants (3)
-
qianfanguijin@qq.com
-
Sean Anderson
-
Tom Rini