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 22:35:02
The following reply was made to PR kern/37527; it has been noted by GNATS.
From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org, yamt@mwd.biglobe.ne.jp
Subject: Re: kern/37527: panic: pci_make_tag: bad request
Date: Wed, 12 Dec 2007 17:31:47 -0500 (EST)
On Wed, 12 Dec 2007, Jared D. McNeill wrote:
> On Wed, 12 Dec 2007, yamt@mwd.biglobe.ne.jp wrote:
> > acpi0 at mainbus0: Advanced Configuration and Power Interface
> > panic: pci_make_tag: bad request
>
> Can you attach your DSDT to this PR?
There is an entry in your DSDT that is causing this failure:
Device (DOBA)
{
Name (_ADR, 0xFFFFFFFF)
[...]
The upper and lower 16 bits are passed, unchecked, to pci_make_tag in
mpacpi_derive_bus. Can you try the following patch?
Cheers,
Jared
--- mpacpi.c 9 Dec 2007 20:27:50 -0000 1.55
+++ mpacpi.c 12 Dec 2007 22:31:14 -0000
@@ -547,7 +547,7 @@
*/
TAILQ_FOREACH(dev, &dev_list, list) {
rv = acpi_eval_integer(dev->handle, METHOD_NAME__ADR,
&val);
- if (ACPI_FAILURE(rv))
+ if (ACPI_FAILURE(rv) || val == 0xffffffff)
return -1;
tag = pci_make_tag(acpi->sc_pc, bus,