Re: [PATCH v2] usb: musb: fix pm_runtime mismatch

From: Felipe Balbi
Date: Tue Dec 20 2011 - 06:38:45 EST


On Mon, Dec 19, 2011 at 10:01:54PM +0200, Felipe Contreras wrote:
> From: Felipe Contreras <felipe.contreras@xxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx
> Cc: Hema HK <hemahk@xxxxxx>
> Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx>

applied, thanks

--
balbi

Attachment: signature.asc
Description: Digital signature