Bug 16153 - Missing PM support in xhci
Missing PM support in xhci
Product: Drivers
Classification: Unclassified
Component: USB
All Linux
: P1 normal
Assigned To: Sarah Sharp
Depends on:
  Show dependency treegraph
Reported: 2010-06-07 20:02 UTC by Ben Hutchings
Modified: 2012-07-20 12:56 UTC (History)
9 users (show)

See Also:
Kernel Version: 2.6.34
Tree: Mainline
Regression: No

requested dmesg for 2.6.37-2-amd64 (75.92 KB, text/plain)
2011-03-29 00:16 UTC, Ryan Kleeberger

Description Ben Hutchings 2010-06-07 20:02:09 UTC
The xhci driver does not support PM and therefore blocks suspend if loaded.

Reported in <http://bugs.debian.org/584830>.
Comment 1 Greg Kroah-Hartman 2010-06-07 20:26:52 UTC
You reported this for the .32 kernel, yet you say this is an issue in .34.  I thought this was resolved in .34, right?
Comment 2 Ben Hutchings 2010-06-07 20:51:20 UTC
(In reply to comment #1)
> You reported this for the .32 kernel, yet you say this is an issue in .34.  I
> thought this was resolved in .34, right?

Sarah said xhci "...doesn't implement PCI and USB bus power management yet." Based on that I assume that this still applies to 2.6.34 (and 2.6.35-rc2).
Comment 3 aix27249 2011-02-25 21:08:16 UTC
I confirm this bug on 2.6.36 branch, including
Comment 4 Sarah Sharp 2011-02-26 02:50:41 UTC
On Fri, Feb 25, 2011 at 09:08:18PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=16153
> aix27249 <admin@agilialinux.ru> changed:
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |admin@agilialinux.ru
> --- Comment #3 from aix27249 <admin@agilialinux.ru>  2011-02-25 21:08:16 ---
> I confirm this bug on 2.6.36 branch, including

Update to 2.6.37.  The patches for PM support was so huge that we didn't
want to back port them.

Sarah Sharp
Comment 5 Ryan Kleeberger 2011-03-28 12:08:01 UTC
Getting the same behavior on 2.6.38-1.
Comment 6 Ryan Kleeberger 2011-03-28 12:15:09 UTC
Same behavior or 2.6.37-2 as well.
Comment 7 Ryan Kleeberger 2011-03-28 12:15:53 UTC
Same behavior on 2.6.37-2 as well.
Comment 8 Sarah Sharp 2011-03-28 21:56:53 UTC
Send me your dmesg for 2.6.37-2.  PM should be there.  When I run git log for v2.6.37 for the xHCI driver files, I see

5535b1d USB: xHCI: PCI power management implementation
9777e3c USB: xHCI: bus power management implementation
5619253 USB: xHCI: port remote wakeup implementation
be88fe4 USB: xHCI: port power management implementation

You should have PM support.
Comment 9 Ryan Kleeberger 2011-03-29 00:16:39 UTC
Created attachment 52402 [details]
requested dmesg for 2.6.37-2-amd64
Comment 10 Ozan Caglayan 2011-06-02 13:27:01 UTC
2.6.35 is a longterm support kernel and has a faulty XHCI code, I think this can't be accepted. BTW, I don't get why XHCI have been merged without PM support.

How many patches there are? Is it impossible to backport them for core changes or will it take too much time?
Comment 11 Sarah Sharp 2011-06-02 17:22:34 UTC
Ozan: it's not the number of patches, it's the size of the patches.  They are just too big to go into the 2.6.35 stable kernel.

sarah@xanatos:~/git/kernels/xhci$ git diff --stat be88fe4^..9777e3c
 drivers/usb/host/xhci-hub.c  |  424 +++++++++++++++++++++++++++++++++++++++++-
 drivers/usb/host/xhci-mem.c  |    4 +
 drivers/usb/host/xhci-pci.c  |    2 +
 drivers/usb/host/xhci-ring.c |  101 +++++++++-
 drivers/usb/host/xhci.c      |    2 +-
 drivers/usb/host/xhci.h      |   30 +++-
 6 files changed, 547 insertions(+), 16 deletions(-)

It's not a "small bug fix" that can be backported to the stable kernel.
Comment 12 Jonathan Nieder 2011-07-26 19:04:55 UTC

"This is no longer the case in Linux-2.6.39 (testing, unstable)." -- Thomas Jollans, <http://bugs.debian.org/584830>.

So it looks like the patches worked.  Thanks!

Note You need to log in before you can comment on or make changes to this bug.