Subject: Re: kern/37527: panic: pci_make_tag: bad request
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: netbsd-bugs
Date: 12/12/2007 23:15:04
The following reply was made to PR kern/37527; it has been noted by GNATS.
From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
Cc: gnats-bugs@NetBSD.org, kern-bug-people@netbsd.org,
gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/37527: panic: pci_make_tag: bad request
Date: Wed, 12 Dec 2007 18:14:50 -0500 (EST)
On Thu, 13 Dec 2007, YAMAMOTO Takashi wrote:
> it panics at another place.
Sigh, looks like your DSDT is badly broken. Here's another patch to try in
addition to the previous one:
Index: OsdHardware.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpica/OsdHardware.c,v
retrieving revision 1.3
diff -u -r1.3 OsdHardware.c
--- OsdHardware.c 9 Dec 2007 20:27:54 -0000 1.3
+++ OsdHardware.c 12 Dec 2007 23:14:40 -0000
@@ -206,6 +206,9 @@
/* XXX Need to deal with "segment" ("hose" in Alpha terminology).
*/
+ if (PciId->Bus >= 256 || PciId->Device >= 32 || PciId->Function >=
8)
+ return AE_BAD_PARAMETER;
+
tag = pci_make_tag(acpi_softc->sc_pc, PciId->Bus, PciId->Device,
PciId->Function);
tmp = pci_conf_read(acpi_softc->sc_pc, tag, Register & ~3);