Cory, acpi_find_bmc() appears to be searching for multiple SPMI tables in the RSDT and running try_init_acpi() on each of them until it doesn't find any more. Is that the intent? Are here systems with multiple SPMI tables? static __devinit void acpi_find_bmc(void) { acpi_status status; struct SPMITable *spmi; int i; if (acpi_disabled) return; if (acpi_failure) return; for (i = 0; ; i++) { status = acpi_get_table(ACPI_SIG_SPMI, i+1, (struct acpi_table_header **)&spmi); if (status != AE_OK) return; try_init_acpi(spmi); } } I speculated recently that the only table signature that is (supposed to be) repeated in the RSDT is an SSDT. Maybe that speculation is wrong if there can be multiple SPMI tables... Bob, Alexey, Also, one thing I'm not excited about is that acpi_get_table() treats instance number 0 and 1 as synonyms -- which is presumably why "i+1" is used above. I think it would make sense if instance 0 and instance 1 were different instances. ie. --- a/drivers/acpi/tables/tbxface.c +++ b/drivers/acpi/tables/tbxface.c @@ -397,7 +397,7 @@ acpi_get_table(char *signature, continue; } - if (++j < instance) { + if (++j <= instance) { continue; } thanks, -Len - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html