return -ESHUTDOWN;
 
        spin_lock_irqsave(&dev->lock, iflags);
-       ep->desc = desc;
+       ep->ep.desc = desc;
 
        ep->halted = 0;
 
        u32             tmp;
 
        VDBG(ep->dev, "ep-%d reset\n", ep->num);
-       ep->desc = NULL;
        ep->ep.desc = NULL;
        ep->ep.ops = &udc_ep_ops;
        INIT_LIST_HEAD(&ep->queue);
                return -EINVAL;
 
        ep = container_of(usbep, struct udc_ep, ep);
-       if (usbep->name == ep0_string || !ep->desc)
+       if (usbep->name == ep0_string || !ep->ep.desc)
                return -EINVAL;
 
        DBG(ep->dev, "Disable ep-%d\n", ep->num);
                return -EINVAL;
 
        ep = container_of(usbep, struct udc_ep, ep);
-       if (!ep->desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
+       if (!ep->ep.desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
                return -EINVAL;
 
        VDBG(ep->dev, "udc_queue(): ep%d-in=%d\n", ep->num, ep->in);
        unsigned long           iflags;
 
        ep = container_of(usbep, struct udc_ep, ep);
-       if (!usbep || !usbreq || (!ep->desc && (ep->num != 0
+       if (!usbep || !usbreq || (!ep->ep.desc && (ep->num != 0
                                && ep->num != UDC_EP0OUT_IX)))
                return -EINVAL;
 
        pr_debug("set_halt %s: halt=%d\n", usbep->name, halt);
 
        ep = container_of(usbep, struct udc_ep, ep);
-       if (!ep->desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
+       if (!ep->ep.desc && (ep->num != 0 && ep->num != UDC_EP0OUT_IX))
                return -EINVAL;
        if (!ep->dev->driver || ep->dev->gadget.speed == USB_SPEED_UNKNOWN)
                return -ESHUTDOWN;
                 * disabling ep interrupts when ENUM interrupt occurs but ep is
                 * not enabled by gadget driver
                 */
-               if (!ep->desc)
+               if (!ep->ep.desc)
                        ep_init(dev->regs, ep);
 
                if (use_dma) {