Also, we loop over the number of endpoints throughout the driver, but you only skip it here during init. Please double check for invalid accessing of endpoints in other places. Perhaps set the dwc->eps[reserved_ep] to ERR_PTR(-EINVAL) or something when you parse the reserved endpoints so you can skip them in your loop. BR, Thinh