summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorManu Gautam <mgautam@codeaurora.org>2012-10-05 13:16:00 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:06:44 -0700
commit13a30395d6e9eda8b6f96aa6b8500a95ad920be4 (patch)
tree3ac9aa1cb69f884917003772e91ff8bde4761ce8 /drivers
parentfcc26a6a54615c0d0b3001fa1a8fc265abde7614 (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.c3
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: