Re: [Bug 41722] Clevo M5X0JE hangs in ACPI init

From: RogÃrio Brito
Date: Sun Jan 08 2012 - 17:27:45 EST


Hi, Edward.

On Jan 06 2012, Edward Donovan wrote:
> I'll be interested to know if any IRQ handled by 2.6.38 isn't handled now,
> but I expect it will be. I'm sorry if that isn't enough for this laptop,
> though -

I bisected the PCI stuff and ended up with a bad commit 12c22d6ef299ccf0955,
which was made by Linus:

,----[ git show 12c22d6ef299ccf0955e5756eb57d90d7577ac68 ]
| commit 12c22d6ef299ccf0955e5756eb57d90d7577ac68
| Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
| Date: Wed Mar 26 11:22:40 2008 -0700
|
| Revert "PCI: remove transparent bridge sizing"
| (...)
`----

The patch that I am using to make this laptop boot at least is essentially a
revert of that commit.

Just for the sake of documentation, I am attaching here the patch that makes
things work (at least partially).

Any directions to debug this properly are welcome.


Thanks,

--
RogÃrio Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFCAAAA
http://rb.doesntexist.org : Packages for LaTeX : algorithms.berlios.de
DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 86b69f85..84543f5 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -849,6 +849,10 @@ void __ref __pci_bus_size_bridges(struct pci_bus *bus,
break;

case PCI_CLASS_BRIDGE_PCI:
+ /* don't size subtractive decoding (transparent)
+ * PCI-to-PCI bridges */
+ if (bus->self->transparent)
+ break;
pci_bridge_check_ranges(bus);
if (bus->self->is_hotplug_bridge) {
additional_io_size = pci_hotplug_io_size;