* Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [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@xxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxx> This patch has a side effect of fixing the issue by breaking PM runtime, not a good fix as discussed. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html