usb: chipidea: udc: make use of new usb_endpoint_maxp_mult()
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Wed, 28 Sep 2016 10:26:18 +0000 (13:26 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 3 Nov 2016 08:38:12 +0000 (10:38 +0200)
We have introduced a helper to calculate multiplier
value from wMaxPacketSize. Start using it.

Acked-by: Peter Chen <Peter.Chen@nxp.com>
Cc: <linux-usb@vger.kernel.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/chipidea/udc.c

index 661f43fe0f9e9e8f9d9be29eaed5bb1307b8df54..7a535be3024ec6f0a82937d20aee0d5de7ec5ae6 100644 (file)
@@ -821,7 +821,7 @@ static int _ep_queue(struct usb_ep *ep, struct usb_request *req,
        }
 
        if (usb_endpoint_xfer_isoc(hwep->ep.desc) &&
-           hwreq->req.length > (1 + hwep->ep.mult) * hwep->ep.maxpacket) {
+           hwreq->req.length > hwep->ep.mult * hwep->ep.maxpacket) {
                dev_err(hwep->ci->dev, "request length too big for isochronous\n");
                return -EMSGSIZE;
        }
@@ -1254,7 +1254,7 @@ static int ep_enable(struct usb_ep *ep,
        hwep->type = usb_endpoint_type(desc);
 
        hwep->ep.maxpacket = usb_endpoint_maxp(desc) & 0x07ff;
-       hwep->ep.mult = QH_ISO_MULT(usb_endpoint_maxp(desc));
+       hwep->ep.mult = usb_endpoint_maxp_mult(desc);
 
        if (hwep->type == USB_ENDPOINT_XFER_CONTROL)
                cap |= QH_IOS;