From: Marek Szyprowski Date: Wed, 2 Oct 2019 12:19:14 +0000 (+0200) Subject: dwc3: flush cache only if there is a buffer attached to a request X-Git-Tag: v2020.01-rc2~15^2~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fd15b58c1a9a61edcdeef8ce1eb4df2442295f58;p=oweals%2Fu-boot.git dwc3: flush cache only if there is a buffer attached to a request Calling cache flush on invalid buffer, even with zero length might cause an exception on certain platforms. Signed-off-by: Marek Szyprowski --- diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 085f7b8968..67d11b4c0d 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -242,7 +242,8 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req, list_del(&req->list); req->trb = NULL; - dwc3_flush_cache((uintptr_t)req->request.dma, req->request.length); + if (req->request.length) + dwc3_flush_cache((uintptr_t)req->request.dma, req->request.length); if (req->request.status == -EINPROGRESS) req->request.status = status;