On Sat, 8 Aug 2015 12:18:55 +0530 Kishon Vijay Abraham I <kishon@xxxxxx> wrote: > > > On Saturday 08 August 2015 11:23 AM, Alexander Holler wrote: > > Hello, > > > > this patch killed the musb-host functionality on my classic Beagleboard (rev > > c4). Symptom was that it there was a message I don't remember and the attached > > device didn't enumerate anymore (likely because of missing power, but I'm not > > sure). > > > > A simple revert has fixed it, I haven't looked further into the problem. > > Neil Brown, how was this tested? Well, I have a board with an OMAP3 connected to a twl4030 for USB and I noted that it wasn't power-managed properly and when I made that change, it was. I don't recall the exact details This is probably related to Commit: 56301df6bcaa ("phy: twl4030-usb: make runtime pm more reliable.") I certainly only tested with that patch in place. Looking at the code again, I cannot see why I thought I needed the 4724e277 patch. Devices are initialised as RPM_SUSPENDED with a usage count of zero (in pm_runtime_init) so when twl4030_usb_probe() calls pm_runtime_get_sync(), that will increase the usage_count to 1 and resume the device. Then it calls pm_runtime_put_autosuspend() which will (ultimately) drop the usage_count back to zero and suspend the device. So it looks like I messed up, but I'm sure I must have had a reason for that patch. I'll try to do some testing later in the week and will report what I find. NeilBrown > > -Kishon > > > > > Regards, > > > > Alexander Holler > > > > Am 31.07.2015 um 21:39 schrieb Greg Kroah-Hartman: > >> 4.1-stable review patch. If anyone has any objections, please let me know. > >> > >> ------------------ > >> > >> From: NeilBrown <neil@xxxxxxxxxx> > >> > >> commit 4724e27114c4a7eceeee07db227a17fcab6f165c upstream. > >> > >> The USB phy should initialize with power-off, and will be powered on > >> by the USB system when a cable connection is detected. > >> > >> Having this pm_runtime_get_sync() during probe causes the phy to > >> *always* be powered on. > >> Removing it returns to sensible power management. > >> > >> Fixes: 96be39ab34b77c6f6f5cd6ae03aac6c6449ee5c4 > >> Signed-off-by: NeilBrown <neil@xxxxxxxxxx> > >> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> > >> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > >> > >> --- > >> drivers/phy/phy-twl4030-usb.c | 1 - > >> 1 file changed, 1 deletion(-) > >> > >> --- a/drivers/phy/phy-twl4030-usb.c > >> +++ b/drivers/phy/phy-twl4030-usb.c > >> @@ -711,7 +711,6 @@ static int twl4030_usb_probe(struct plat > >> pm_runtime_use_autosuspend(&pdev->dev); > >> pm_runtime_set_autosuspend_delay(&pdev->dev, 2000); > >> pm_runtime_enable(&pdev->dev); > >> - pm_runtime_get_sync(&pdev->dev); > >> > >> /* Our job is to use irqs and status from the power module > >> * to keep the transceiver disabled when nothing's connected. > >> > >> > >> -- > >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > >> the body of a message to majordomo@xxxxxxxxxxxxxxx > >> More majordomo info at http://vger.kernel.org/majordomo-info.html > >> Please read the FAQ at http://www.tux.org/lkml/ > >> > > -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html