Subject: Re: kern/37527: panic: pci_make_tag: bad request
To: None <gnats-bugs@NetBSD.org>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: netbsd-bugs
Date: 12/12/2007 17:31:47
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,