usb: musb: Fix unbalanced pm_runtime_enable
authorTony Lindgren <tony@atomide.com>
Tue, 1 Dec 2015 05:37:13 +0000 (21:37 -0800)
committerFelipe Balbi <balbi@ti.com>
Wed, 16 Dec 2015 16:07:28 +0000 (10:07 -0600)
When reloading omap2430 kernel module we get a warning about
unbalanced pm_runtime_enable. Let's fix this. Note that we
need to do this after the child musb-core platform_device is
removed because of pm_runtime_irq_safe being set at the child.

Cc: Bin Liu <b-liu@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: NeilBrown <neil@brown.name>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/omap2430.c

index bf05f807729f8b40912e55fe208347890032a3fb..c84e0322c108710607abca65245ca4f368ba2da9 100644 (file)
@@ -664,8 +664,11 @@ static int omap2430_remove(struct platform_device *pdev)
 {
        struct omap2430_glue            *glue = platform_get_drvdata(pdev);
 
+       pm_runtime_get_sync(glue->dev);
        cancel_work_sync(&glue->omap_musb_mailbox_work);
        platform_device_unregister(glue->musb);
+       pm_runtime_put_sync(glue->dev);
+       pm_runtime_disable(glue->dev);
 
        return 0;
 }