On Wed, 2010-09-29 at 11:23 +0800, Lin Ming wrote: > On Tue, 2010-09-28 at 08:46 +0800, Len Brown wrote: > > > Len, > > > Please merge above code into then commit "ACPICA: Revert "Revert "Enable > > > multi-byte EC transfers". > > > > done. > > but i've backed out the acpica branch entirely > > because it doesn't boot on my t61 > > starting with at this patch: > > > > ACPICA/ACPI: Add new host interfaces for _OSI support > > I'll test t61 and get back to you. Hi, Len I found the root cause that t61 hangs. T61 hangs at below code path: start_kernel -> setup_arch -> acpi_boot_table_init -> acpi_blacklisted -> dmi_enable_osi_linux -> dmi_enable_osi_linux -> acpi_dmi_osi_linux -> (T61 hits the DMI table) set_osi_linux -> acpi_install_interface acpi_install_interface needs to acquire a mutex, and the call to it hangs because ACPICA subsystem has not yet initialized at above call path. Below patch fix it. acpi_osi_setup only saves the OSI string(it does not call acpi_install_interface/acpi_remove_interface), and a later function acpi_osi_setup_late will handle the OSI string. diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index af109c7..07516d2 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -1000,9 +1000,9 @@ static void __init set_osi_linux(unsigned int enable) } if (osi_linux.enable) - acpi_install_interface("Linux"); + acpi_osi_setup("Linux"); else - acpi_remove_interface("Linux"); + acpi_osi_setup("!Linux"); return; } -- Lin Ming > > Lin Ming > > > > > thanks, > > -Len Brown, Intel Open Source Technology Center > > -- > > 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 > -- 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