diff options
-rw-r--r-- | arch/arm/mach-mx25/usb_h2.c | 5 | ||||
-rw-r--r-- | drivers/usb/gadget/arcotg_udc.c | 16 |
2 files changed, 12 insertions, 9 deletions
diff --git a/arch/arm/mach-mx25/usb_h2.c b/arch/arm/mach-mx25/usb_h2.c index 23f6a61ea627..8548cca82d26 100644 --- a/arch/arm/mach-mx25/usb_h2.c +++ b/arch/arm/mach-mx25/usb_h2.c @@ -88,13 +88,10 @@ EXPORT_SYMBOL(usbh2_put_xcvr_power); static int __init usbh2_init(void) { - struct platform_device *pdev; pr_debug("%s: \n", __func__); - pdev = host_pdev_register(usbh2_resources, ARRAY_SIZE(usbh2_resources), + host_pdev_register(usbh2_resources, ARRAY_SIZE(usbh2_resources), &usbh2_config); - if (pdev) - device_init_wakeup(&(pdev->dev), 1); return 0; } module_init(usbh2_init); diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c index 7772c39a1044..4fac79260c38 100644 --- a/drivers/usb/gadget/arcotg_udc.c +++ b/drivers/usb/gadget/arcotg_udc.c @@ -109,10 +109,11 @@ dr_wake_up_enable(struct fsl_udc *udc, bool enable) struct fsl_usb2_platform_data *pdata; pdata = udc->pdata; - if (device_may_wakeup(udc_controller->gadget.dev.parent)) { - if (pdata->wake_up_enable) - pdata->wake_up_enable(pdata, enable); - } + if (enable && (!device_may_wakeup(udc_controller->gadget.dev.parent))) + return; + + if (pdata->wake_up_enable) + pdata->wake_up_enable(pdata, enable); } #ifdef CONFIG_PPC32 @@ -2855,6 +2856,9 @@ static int __init fsl_udc_probe(struct platform_device *pdev) last_free_td = NULL; #endif + /* disable all INTR */ + fsl_writel(0, &dr_regs->usbintr); + dr_wake_up_enable(udc_controller, false); udc_controller->stopped = 1; @@ -2993,7 +2997,9 @@ out: -----------------------------------------------------------------*/ static int fsl_udc_suspend(struct platform_device *pdev, pm_message_t state) { - if ((udc_controller->usb_state > USB_STATE_POWERED) && + if (((!(udc_controller->gadget.is_otg)) || + (fsl_readl(&dr_regs->otgsc) & OTGSC_STS_USB_ID)) && + (udc_controller->usb_state > USB_STATE_POWERED) && (udc_controller->usb_state < USB_STATE_SUSPENDED)) return -EBUSY; |