From 17424bd7e926753e72fbd9a92544f1f0fccd6e9c Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Wed, 6 Jun 2012 10:20:23 +0300 Subject: [PATCH] --- yaml --- r: 316903 b: refs/heads/master c: b785ea7ce662c47f6208071320638a4813722803 h: refs/heads/master i: 316901: 2e14840b96451a40adddacfe26f0398011e9e835 316899: 609140ab052640e047dc6c3f2af2a1b88b28d3a8 316895: 11333413bc32ccc0ac171475a5141be3827e926a v: v3 --- [refs] | 2 +- trunk/drivers/usb/dwc3/gadget.c | 2 +- trunk/drivers/usb/gadget/composite.c | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9851a189b249..4f8f6cc8925a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fbcaba0e3dcec8451cccdc1fa92fcddbde2bc3f2 +refs/heads/master: b785ea7ce662c47f6208071320638a4813722803 diff --git a/trunk/drivers/usb/dwc3/gadget.c b/trunk/drivers/usb/dwc3/gadget.c index 3df1a1973b05..cc978d65a808 100644 --- a/trunk/drivers/usb/dwc3/gadget.c +++ b/trunk/drivers/usb/dwc3/gadget.c @@ -414,7 +414,7 @@ static int dwc3_gadget_set_ep_config(struct dwc3 *dwc, struct dwc3_ep *dep, params.param0 = DWC3_DEPCFG_EP_TYPE(usb_endpoint_type(desc)) | DWC3_DEPCFG_MAX_PACKET_SIZE(usb_endpoint_maxp(desc)) - | DWC3_DEPCFG_BURST_SIZE(dep->endpoint.maxburst); + | DWC3_DEPCFG_BURST_SIZE(dep->endpoint.maxburst - 1); params.param1 = DWC3_DEPCFG_XFER_COMPLETE_EN | DWC3_DEPCFG_XFER_NOT_READY_EN; diff --git a/trunk/drivers/usb/gadget/composite.c b/trunk/drivers/usb/gadget/composite.c index 390749bbb0c3..3f72110da1b0 100644 --- a/trunk/drivers/usb/gadget/composite.c +++ b/trunk/drivers/usb/gadget/composite.c @@ -117,6 +117,7 @@ int config_ep_by_speed(struct usb_gadget *g, struct usb_function *f, struct usb_ep *_ep) { + struct usb_composite_dev *cdev = get_gadget_data(g); struct usb_endpoint_descriptor *chosen_desc = NULL; struct usb_descriptor_header **speed_desc = NULL; @@ -180,10 +181,12 @@ int config_ep_by_speed(struct usb_gadget *g, _ep->mult = comp_desc->bmAttributes & 0x3; case USB_ENDPOINT_XFER_BULK: case USB_ENDPOINT_XFER_INT: - _ep->maxburst = comp_desc->bMaxBurst; + _ep->maxburst = comp_desc->bMaxBurst + 1; break; default: - /* Do nothing for control endpoints */ + if (comp_desc->bMaxBurst != 0) + ERROR(cdev, "ep0 bMaxBurst must be 0\n"); + _ep->maxburst = 1; break; } }