diff options
Diffstat (limited to 'kernel/drivers/usb/gadget/udc/fsl_udc_core.c')
-rw-r--r-- | kernel/drivers/usb/gadget/udc/fsl_udc_core.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/drivers/usb/gadget/udc/fsl_udc_core.c b/kernel/drivers/usb/gadget/udc/fsl_udc_core.c index c60022b46..aab5221d6 100644 --- a/kernel/drivers/usb/gadget/udc/fsl_udc_core.c +++ b/kernel/drivers/usb/gadget/udc/fsl_udc_core.c @@ -2313,6 +2313,19 @@ static int struct_ep_setup(struct fsl_udc *udc, unsigned char index, ep->ep.ops = &fsl_ep_ops; ep->stopped = 0; + if (index == 0) { + ep->ep.caps.type_control = true; + } else { + ep->ep.caps.type_iso = true; + ep->ep.caps.type_bulk = true; + ep->ep.caps.type_int = true; + } + + if (index & 1) + ep->ep.caps.dir_in = true; + else + ep->ep.caps.dir_out = true; + /* for ep0: maxP defined in desc * for other eps, maxP is set by epautoconfig() called by gadget layer */ |