[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 9 Sep 2016 13:08:03 -0700
From: Tony Lindgren <tony@...mide.com>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Andreas Kemnade <andreas@...nade.info>, Bin Liu <b-liu@...com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org, linux-omap@...r.kernel.org,
linux-kernel@...r.kernel.org, letux-kernel@...nphoenux.org
Subject: Re: [v2] musb: omap2430: do not assume balanced enable()/disable()
* Laurent Pinchart <laurent.pinchart@...asonboard.com> [160909 12:27]:
> Hi Andreas,
>
> Thank you for the patch.
>
> On Wednesday 03 Aug 2016 17:38:51 Andreas Kemnade wrote:
> > The code assumes that omap2430_musb_enable() and
> > omap2430_musb_disable() are called in a balanced way.
> > That fact is broken by the fact that musb_init_controller() calls
> > musb_platform_disable() to switch from unknown state to off state
> > on initialisation.
> >
> > That means that phy_power_off() is called first so that
> > phy->power_count gets -1 and the phy is not enabled on phy_power_on().
> > So when usb gadget is started the phy is not powered on.
> > Depending on the phy used that caused various problems.
> > Besides of causing usb problems, that can also have side effects.
> >
> > In the case of using the phy_twl4030, that prevents also charging
> > the battery via usb (using twl4030_charger) and so makes further
> > kernel debugging hard.
> > The problem was seen with 4.7 on an openphoenux gta04. It has a DM3730
> > SoC and a TPS65950 companion. phy->power never became 1
> > and so the usb did get powered on.
> >
> > The patch prevents phy_power_off() from being called when
> > it is already off.
> >
> > Signed-off-by: Andreas Kemnade <andreas@...nade.info>
>
> This fixes USB gadget operation on the Panda board.
>
> Fixes: a83e17d0f73b ("usb: musb: Improve PM runtime and phy handling for 2430
> glue layer")
> Tested-by: Laurent Pinchart <laurent.pinchart@...asonboard.com>
This patch has a side effect of fixing the issue by breaking PM
runtime, not a good fix as discussed.
Regards,
Tony
Powered by blists - more mailing lists