lkml.org 
[lkml]   [2013]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [GIT PATCH] USB patches for 3.9-rc1
On Fri, Feb 22, 2013 at 05:23:04PM -0500, Dave Jones wrote:
> On Fri, Feb 22, 2013 at 10:51:58PM +0100, Fabio Baltieri wrote:
> > On Fri, Feb 22, 2013 at 03:59:54AM -0500, Dave Jones wrote:
> > > On Thu, Feb 21, 2013 at 10:40:10AM -0800, Greg KH wrote:
> > >
> > > It looks like every port on my laptop is powered down, as I can't
> > > even charge devices with it.
> >
> > I have the same problem (and almost the same laptop, Thinkpad T430
> > here), all external USB ports without power - even the always-on one
> > :-).
> >
> > The bug seems to be ACPI related, I bisected it down to this patch:
> >
> > f95988d ACPI / scan: Treat power resources in a special way
> >
> > In the dmesg I have some error like these:
> >
> > ACPI: Power Resource [PUBS] (on)
> > ...
> > pci 0000:00:14.0: System wakeup disabled by ACPI
> >
> > for the USB controllers in the broken kernel, there are some in your
> > dmesg too. I'll try to come up with a fix for current mainline, but all
> > the acpi stuff is quite obscure to me and the patch does not revert
> > cleanly, maybe Rafael (in CC) has some idea!
>
> Good find. I see the same thing.
>
> [ 0.930283] ACPI _OSC control for PCIe not granted, disabling ASPM
> [ 0.933527] pci 0000:00:14.0: System wakeup disabled by ACPI
> [ 0.935982] pci 0000:00:19.0: System wakeup disabled by ACPI
> [ 0.937898] pci 0000:00:1a.0: System wakeup disabled by ACPI
> [ 0.939835] pci 0000:00:1b.0: System wakeup disabled by ACPI
> [ 0.940700] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP1._PRT]
> [ 0.942195] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP2._PRT]
> [ 0.943737] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.EXP3._PRT]
> [ 0.944564] pci 0000:00:1c.2: System wakeup disabled by ACPI
> [ 0.966491] pci 0000:00:1d.0: System wakeup disabled by ACPI
>
> I must have pulled in the acpi bits the same time as the usb pull,
> because I don't recall seeing this problem before last night.

Definitely.

Well, this did the trick in my case:

--- >8 ---
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index b820528..54175a0 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -795,7 +795,7 @@ int acpi_add_power_resource(acpi_handle handle)
int state, result = -ENODEV;

acpi_bus_get_device(handle, &device);
- if (device)
+ if (!device)
return 0;

resource = kzalloc(sizeof(*resource), GFP_KERNEL);
--- >8 ---
But I guess it's working as a coincidence and something else is wrong -
I'll not even try to make a patch out of it and will leave the dirty
work to the ACPI guys instead.

Fabio

--
Fabio Baltieri


\
 
 \ /
  Last update: 2013-02-23 01:21    [W:0.244 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site