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 -- 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