u8 bInterval_m1;
 
                /*
-                * Valid range for DEPCFG.bInterval_m1 is from 0 to 13, and it
-                * must be set to 0 when the controller operates in full-speed.
+                * Valid range for DEPCFG.bInterval_m1 is from 0 to 13.
+                *
+                * NOTE: The programming guide incorrectly stated bInterval_m1
+                * must be set to 0 when operating in fullspeed. Internally the
+                * controller does not have this limitation. See DWC_usb3x
+                * programming guide section 3.2.2.1.
                 */
                bInterval_m1 = min_t(u8, desc->bInterval - 1, 13);
-               if (dwc->gadget->speed == USB_SPEED_FULL)
-                       bInterval_m1 = 0;
 
                if (usb_endpoint_type(desc) == USB_ENDPOINT_XFER_INT &&
                    dwc->gadget->speed == USB_SPEED_FULL)