Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
[cascardo/linux.git] / drivers / usb / gadget / mv_udc_core.c
index f97e737..19bbe80 100644 (file)
@@ -608,6 +608,7 @@ static int  mv_ep_disable(struct usb_ep *_ep)
        nuke(ep, -ESHUTDOWN);
 
        ep->desc = NULL;
+       ep->ep.desc = NULL;
        ep->stopped = 1;
 
        spin_unlock_irqrestore(&udc->lock, flags);
@@ -771,8 +772,7 @@ mv_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
                udc->ep0_state = DATA_STATE_XMIT;
 
        /* irq handler advances the queue */
-       if (req != NULL)
-               list_add_tail(&req->queue, &ep->queue);
+       list_add_tail(&req->queue, &ep->queue);
        spin_unlock_irqrestore(&udc->lock, flags);
 
        return 0;
@@ -1384,7 +1384,8 @@ static int mv_udc_start(struct usb_gadget_driver *driver,
        }
 
        if (udc->transceiver) {
-               retval = otg_set_peripheral(udc->transceiver, &udc->gadget);
+               retval = otg_set_peripheral(udc->transceiver->otg,
+                                       &udc->gadget);
                if (retval) {
                        dev_err(&udc->dev->dev,
                                "unable to register peripheral to otg\n");
@@ -2181,7 +2182,7 @@ static int __devinit mv_udc_probe(struct platform_device *dev)
 
 #ifdef CONFIG_USB_OTG_UTILS
        if (pdata->mode == MV_USB_MODE_OTG)
-               udc->transceiver = otg_get_transceiver();
+               udc->transceiver = usb_get_transceiver();
 #endif
 
        udc->clknum = pdata->clknum;