The MUSB driver does not currently implment suspend/resume callbacks,
seemingly because it does not support cutting power when devices are
connected in host mode.

Without a proper suspend/resume implementation, the OMAP PM domain
layer which automatically gates non runtime-suspended devices will
cause problems in suspend by the drivers ->runtime_suspend() callback
which will try to cut power.

Fix this by disabling PM domain auto suspending for MUSB until the
driver can be fixed to properly implement suspend/resume.

Signed-off-by: Kevin Hilman <khil...@ti.com>
---
 arch/arm/mach-omap2/usb-musb.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c
index 2679750..e19eb0a 100644
--- a/arch/arm/mach-omap2/usb-musb.c
+++ b/arch/arm/mach-omap2/usb-musb.c
@@ -110,6 +110,7 @@ void __init usb_musb_init(struct omap_musb_board_data 
*musb_board_data)
                                                name, oh_name);
                return;
        }
+       omap_device_disable_idle_on_suspend(pdev);
 
        dev = &pdev->dev;
        get_device(dev);
-- 
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to