Re: acpi/test panic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux