Description of problem: kernel-2.6.9.36 fails due to panic in MADT ACPI table code. Version-Release number of selected component (if applicable): kernel-2.6.9.36 How reproducible: 100% Steps to Reproduce: 1. Boot kernel 2.6.9-36 2. 3. Actual results: Loading initrd initrd-2.6.9-36.EL.img...done Linux version 2.6.9-36.EL (bhcompile.redhat.com) (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)) #1 SMP Tue May 9 09:06:25 EDT 2006 EFI v1.10 by INTEL: SALsystab=0x3002814b60 ACPI 2.0=0x300281b8e0 booting generic kernel on platform sn2 Number of logical nodes in system = 32 Number of memory chunks in system = 32 Initial ramdisk at: 0xe0000fb07a0ba000 (3331564 bytes) SAL 2.9: SGI SN2 version 4.43 SAL Platform features: ITC_Drift SAL: AP wakeup using external interrupt vector 0x12 No logical to physical processor mapping available ACPI: Local APIC address c0000000fee00000 ACPI: Error parsing MADT - no IOSAPIC entries register_intr: No IOSAPIC for GSI 52 Kernel panic - not syncing: acpi_register_gsi: out of interrupt vectors! Expected results: Boot should succeed. Additional info: Binary search through patches indicates Anil's acpi_register_gsi patch is the culprit. Anil modified the code such that acpi_register_gsi panic's if iosapic_register_intr returns < 0. However, the MADT code that registers the SCI interrupt can (and does handle) a return < 0. Anil's patch should not panic if < 0 -- just output a warning?
Anil, This statement in your patch is wrong: + /* Caller of acpi_register_gsi() assumes this function always succeeds, + * hence calling panic() for backward compatibility IMO, calling panic() to maintain backward compatibility is incorrect here as this will break all systems with bad ACPI tables (of which there are many).
Ha..good that I had a panic() call which caught the buggy ACPI table bug:) I am okay with you replacing panic() call with printk.
Created attachment 129237 [details] Patch to replace panic with printk Patch to replace panic with printk
Regression in behavior introduced in U4 code development. Not a beta blocker and would agree to taking during beta since it's just a behavior change.
PM ACK for U4
committed in stream U4 build 36.1. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0575.html