cvs commit: src/sys/dev/acpica acpivar.h

Peter Edwards peadar at freebsd.org
Thu May 20 16:45:27 PDT 2004


Hi Nate,
This appears to be the cause of a boot-time panic for me, which for some 
reason only manifests itself when I've modules other than ACPI brought 
in by the loader (any of agp, vesa or snd_ich)

Unlike the methods they replace, the __BUS_ACCESSOR methods from 
sys/bus.h don't seem to check the return code of BUS_READ_IVAR to return 
NULL on failure. The first few frames of the panic look like this 
(sorry, too early in the boot process for a dump: I can transcribe more 
if you need it)

 > AcpiNsWalkNamespace() + 0x53 (contrib/dev/acpica/nswalk.c:291)
 > AcpiWalkNamespace() + 0x47 (contrib/dev/acpica/nsxfeval.c:525)
 > acpi_pci_attach()

At the site of the crash:
 > ChildType = ChildNode->Type

The value of ChildNode appears to be 0xffffffff (taken from EAX), so it 
looks like that's what the __BUS_ACCESSOR method is returning for a 
failure.  Rolling back the commit fixes the issue.

Nate Lawson wrote:

>njl         2004/05/18 09:53:29 PDT
>
>  FreeBSD src repository
>
>  Modified files:
>    sys/dev/acpica       acpivar.h 
>  Log:
>  Use the simpler __BUS_ACCESSOR macros for ivars instead of defining them
>  ourselves.
>  
>  Revision  Changes    Path
>  1.65      +3 -56     src/sys/dev/acpica/acpivar.h
>
>  
>



More information about the cvs-src mailing list