lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150809190017.39a056a8@home.neil.brown.name>
Date:	Sun, 9 Aug 2015 19:00:17 +1000
From:	NeilBrown <neil@...wn.name>
To:	Kishon Vijay Abraham I <kishon@...com>
Cc:	Alexander Holler <holler@...oftware.de>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	<linux-kernel@...r.kernel.org>, <stable@...r.kernel.org>
Subject: Re: [PATCH 4.1 099/267] phy: twl4030-usb: remove incorrect
 pm_runtime_get_sync() in probe function.

On Sat, 8 Aug 2015 12:18:55 +0530 Kishon Vijay Abraham I
<kishon@...com> 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@...wn.name>
> >>
> >> 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@...wn.name>
> >> Signed-off-by: Kishon Vijay Abraham I <kishon@...com>
> >> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> >>
> >> ---
> >>   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@...r.kernel.org
> >> 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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ