Date: Fri, 21 May 2004 00:44:37 +0100 From: Peter Edwards <peadar@freebsd.org> To: Nate Lawson <njl@FreeBSD.org> Cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/acpica acpivar.h Message-ID: <40AD42E5.7050101@freebsd.org> In-Reply-To: <200405181653.i4IGrU6g062365@repoman.freebsd.org> References: <200405181653.i4IGrU6g062365@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40AD42E5.7050101>