summaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/omap2430.c
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2011-12-19 22:01:54 +0200
committerFelipe Balbi <balbi@ti.com>2011-12-20 13:38:09 +0200
commit772aed45b604c5ff171f0f12c12392d868333f79 (patch)
tree46dc4594c9664653f158cc7ec71de145f48de9c0 /drivers/usb/musb/omap2430.c
parente7f4e73287d2915499c821b884f70f42187e2a74 (diff)
downloadop-kernel-dev-772aed45b604c5ff171f0f12c12392d868333f79.zip
op-kernel-dev-772aed45b604c5ff171f0f12c12392d868333f79.tar.gz
usb: musb: fix pm_runtime mismatch
In musb_init_controller() there's a pm_runtime_put(), but there's no pm_runtime_get(), which creates a mismatch that causes the driver to sleep when it shouldn't. This was introduced in 7acc619[1], but it wasn't triggered in my setup until 18a2689[2] was merged to Linus' branch at point df0914[3]. IOW; when PM is working as it was supposed to. However, it seems most of the time this is used in a way that keeps the counter above 0, so nobody noticed. Also, it seems to depend on the configuration used in versions before 3.1, but not later (or in it). I found the problem by loading isp1704_charger before any usb gadgets: http://article.gmane.org/gmane.linux.kernel/1226122 All versions after 2.6.39 are affected. [1] usb: musb: Idle path retention and offmode support for OMAP3 [2] OMAP2+: musb: hwmod adaptation for musb registration [3] Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 Cc: stable@vger.kernel.org Cc: Hema HK <hemahk@ti.com> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/omap2430.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud