2.6.16 not booting due to ACPI revision 20060127

From: xb <xavier.bru_at_bull.net>
Date: 2006-04-03 21:39:47
Hi all,

We have platforms that do not boot in 2.6.16, but boot OK with 2.6.15 
(loop in ACPI code).
After some investigations, I found this is due to pci buses that are 
described in the configuration, but not available in limited configurations.
These buses have a _STA method, but no _INI method.
With 2.6.15, the _STA method is run, and as the bus is not present, the 
bus and all devices behind it are ignored.
With 2.6.16, as no _INI method is provided for the bus, _STA method is 
not run, and then we loop when executing methods for devices behind the 
not present bus.

Having a look to ACPI specification, I could find nowhere the 
restriction that _STA method is called only when an _INI method is 
provided for the device:

"6.5.1 _INI (Init)
...
If the _STA method indicates that the device is present, OSPM will 
evaluate the _INI for the device (if the _INI method exists) and will 
examine each of the children of the device for _INI methods. If the _STA 
method indicates that the device is not present, OSPM will not run the 
_INI and will not examine the children of the device for _INI methods. "


traces -----------------------------------------------


 Device PC11
000060e4:  02 . .  Name _HID
000060e9:  03 . . .  PNP0A03  PCI Bus  0x030ad041
000060ee:  02 . .  Name _UID
000060f3:  03 . . .  0x0b
000060f5:  02 . .  Name _ADR
000060fa:  03 . . .  0x00
000060fc:  02 ---- 'PCI bus number setup by the BIOS'  Method _BBN
00006102:  03 . . .  0x00
00006103:  03 . . .  Return
00006104:  04 . . . .  path: \_SB_.CSFF.IO15.B1__
00006117:  02 ---- 'Dynamic_Statu'  Method _STA
0000611d:  03 . . .  0x00
0000611e:  03 . . .  If
00006120:  04 . . . .  LEqual
00006121:  05 . . . . .  path: \_SB_.CSFF.IO11.HUBD
00006134:  05 . . . . .  0x00
00006136:  04 . . . .  Return
00006137:  05 . . . . .  0x0f
00006139:  03 . . .  Return
0000613a:  04 . . . .  0x00
0000613c:  02 ---- 'Current Resource Setting'  Method _CRS
00006142:  03 . . .  0x00
00006143:  03 . . .  Return
00006144:  04 . . . .  path: \_SB_.HLRS
0000614e:  03 . . .  0x01
00006150:  03 . . .  0x01
00006152:  02


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Received on Mon Apr 03 21:40:22 2006

This archive was generated by hypermail 2.1.8 : 2006-04-03 21:40:32 EST