[PR] acpi module related bug in 1.2.0R

Sepherosa Ziehau sepherosa at softhome.net
Fri Apr 15 04:30:09 PDT 2005


On Mon, 11 Apr 2005 19:20:12 +0900, YONETANI Tomokazu  
<qhwt+dfly at xxxxxxxxxx> wrote:

On Mon, Apr 11, 2005 at 09:17:02AM +0200, Joerg Sonnenberger wrote:
On Sun, Apr 10, 2005 at 06:24:48PM +0800, Sepherosa Ziehau wrote:
> 1) with set debug.acpi.disabled="cmbat children"
>    error messages continue to pop up.
> 2) with set debug.acpi.avoid="_SB.PCI0.PCIE.CRD0 _SB.PCI0.PCIE.CRD1"
>    error messages shut up, everything works find.
What about debug.acpi.disabled="bus"?
If it works with debug.acpi.disabled="bus" but not with
debug.acpi.disabled="children", that means it's AcpiGetType()
that's messing up something.
Probably `set debug.acpi.avoid' alone should also work, because
I have read through that code, it just uses testenv().  Will it be better  
if we can add `debug.acpi.avoidpath' env?

there's one piece of code that I overlooked; when debug.acpi.avoid
is set, it avoids running _INI and _STA methods, and namespaces list
above are never scanned according to files `dmesg.acpi1' and  
`dmesg.acpi2'
(which proves that my guess was wrong). Finding out which _INI or _STA
methods(there are 25 of them) is the problem is bit of a work, but if
you really don't mind the trouble of finding it out, you may want to  
start
with somewhere around here:

                Device (CRD0)
                {
                    Name (_ADR, 0x00010000)
                    Method (_INI, 0, NotSerialized)
                    {
                        SMI (0x95, 0x04)
                    }
                    Name (_S1D, 0x00)
                    Name (_S3D, 0x03)
                }
change this to

                Device (CRD0)
                {
                    Name (_ADR, 0x00010000)
                    Method (_INI, 0, NotSerialized)
                    {
                        // SMI (0x95, 0x04)
After this line and the similar line in `Device (CRD1)' block have been  
commented out, everything works fine.

                    }

                    Name (_S1D, 0x00)
                    Name (_S3D, 0x03)
                }
then compile it with iasl command, save it as /boot/acpi_dsdt.aml, add
    acpi_dsdt_load="YES"
in /boot/loader.conf and reboot.







More information about the Kernel mailing list