diff options
author | Manu Gautam <mgautam@codeaurora.org> | 2012-10-05 13:16:00 +0530 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:06:44 -0700 |
commit | 13a30395d6e9eda8b6f96aa6b8500a95ad920be4 (patch) | |
tree | 3ac9aa1cb69f884917003772e91ff8bde4761ce8 /drivers | |
parent | fcc26a6a54615c0d0b3001fa1a8fc265abde7614 (diff) |
DWC3: gadget: Report error if RX buffer not aligned to EP's MTU
Synopsys USB3 Controller (DWC3) has a restriction where size
of OUT requests (TRB) queued to the controller must be aligned
with the endpoint's max packet size. Hence, report error in case
function driver tries to queue an unaligned request.
Change-Id: Id5f4a0ff9d2f9c55bba936d683608c524eadd260
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index ac6304c3eae0..d872bd95f6ce 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1322,6 +1322,9 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request, goto out; } + WARN(!dep->direction && (request->length % ep->desc->wMaxPacketSize), + "trying to queue unaligned request (%d)\n", request->length); + ret = __dwc3_gadget_ep_queue(dep, req); out: |