A static count of transfer descriptors was used everywhere in the driver with the fixed number 5. This patch adds a define, named TD_PAGE_COUNT, and replaces all users of this value. This way its possible to have only one parameter to change and limit the amount of buffer pointers per TD. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> --- Changes since v1: - renamed TD_COUNT to more precise TD_PAGE_COUNT - changed TD_PAGE_COUNT to 5 based on the previous patch - fixed patch description to address the tds buffers not the td itself drivers/usb/chipidea/ci.h | 1 + drivers/usb/chipidea/udc.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h index 7dcd390..4ca3373 100644 --- a/drivers/usb/chipidea/ci.h +++ b/drivers/usb/chipidea/ci.h @@ -21,6 +21,7 @@ /****************************************************************************** * DEFINE *****************************************************************************/ +#define TD_PAGE_COUNT 5 #define CI13XXX_PAGE_SIZE 4096ul /* page size for TD's */ #define ENDPT_MAX 32 #define RX 0 /* similar to USB_DIR_OUT but can be used as an index */ diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 834aa7e..e04514d 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -442,7 +442,7 @@ static int _hardware_enqueue(struct ci13xxx_ep *mEp, struct ci13xxx_req *mReq, g mReq->ptr->token |= TD_IOC; } mReq->ptr->page[0] = mReq->req.dma; - for (i = 1; i < 5; i++) + for (i = 1; i < TD_PAGE_COUNT; i++) mReq->ptr->page[i] = (mReq->req.dma + i * CI13XXX_PAGE_SIZE) & ~TD_RESERVED_MASK; @@ -691,8 +691,8 @@ static int _ep_queue(struct usb_ep *ep, struct usb_request *req, goto done; } - if (req->length > 4 * CI13XXX_PAGE_SIZE) { - req->length = 4 * CI13XXX_PAGE_SIZE; + if (req->length > (TD_PAGE_COUNT - 1) * CI13XXX_PAGE_SIZE) { + req->length = (TD_PAGE_COUNT - 1) * CI13XXX_PAGE_SIZE; retval = -EMSGSIZE; dev_warn(mEp->ci->dev, "request length truncated\n"); } -- 1.8.2.rc2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html