|
@@ -981,6 +981,9 @@ static void musb_shutdown(struct platform_device *pdev)
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
pm_runtime_get_sync(musb->controller);
|
|
pm_runtime_get_sync(musb->controller);
|
|
|
|
+
|
|
|
|
+ musb_gadget_cleanup(musb);
|
|
|
|
+
|
|
spin_lock_irqsave(&musb->lock, flags);
|
|
spin_lock_irqsave(&musb->lock, flags);
|
|
musb_platform_disable(musb);
|
|
musb_platform_disable(musb);
|
|
musb_generic_disable(musb);
|
|
musb_generic_disable(musb);
|
|
@@ -1827,8 +1830,6 @@ static void musb_free(struct musb *musb)
|
|
sysfs_remove_group(&musb->controller->kobj, &musb_attr_group);
|
|
sysfs_remove_group(&musb->controller->kobj, &musb_attr_group);
|
|
#endif
|
|
#endif
|
|
|
|
|
|
- musb_gadget_cleanup(musb);
|
|
|
|
-
|
|
|
|
if (musb->nIrq >= 0) {
|
|
if (musb->nIrq >= 0) {
|
|
if (musb->irq_wake)
|
|
if (musb->irq_wake)
|
|
disable_irq_wake(musb->nIrq);
|
|
disable_irq_wake(musb->nIrq);
|