On 9/17/2013 6:15 AM, Jack Pham wrote:
Hi Manu,
An intern working with us here (thanks Peter!) found a bug.
On Mon, Sep 16, 2013 at 03:10:14PM +0530, Manu Gautam wrote:
@@ -1569,7 +1573,20 @@ static int ffs_func_eps_enable(struct ffs_function *func)
spin_lock_irqsave(&func->ffs->eps_lock, flags);
do {
struct usb_endpoint_descriptor *ds;
- ds = ep->descs[ep->descs[1] ? 1 : 0];
+ int desc_idx;
+
+ if (ffs->gadget->speed == USB_SPEED_SUPER)
+ desc_idx = 2;
+ if (ffs->gadget->speed == USB_SPEED_HIGH)
This should be "else if", otherwise if the gadget is superspeed, it will
fall through to the full speed case below and desc_idx will be set to 0,
resulting in FS descriptors being used instead.
Thanks. I will fix this in my next patch.
+ desc_idx = 1;
+ else
+ desc_idx = 0;
+
+ ds = ep->descs[desc_idx]
--
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