Re: a7839e96 (PNP: increase max resources) breaks my ALSA intel8x0sound card

From: Linus Torvalds
Date: Thu Feb 14 2008 - 17:58:51 EST




On Thu, 14 Feb 2008, Bjorn Helgaas wrote:
> >
> > [ 22.906610] system 00:08: iomem range 0xfebfe000-0xfebfec00 has been reserved
> > [ 22.906654] system 00:08: iomem range 0xfebfa000-0xfebfac00 has been reserved
>
> The PNP resource fits entirely inside the PCI bus resource, so the PNP
> insertion will only fail if the sound driver has already been loaded.

Ok, it does indeed fit entirely in (and the discussion about "clashing"
misled me - the PCI resource doesn't actually clash, it's just a subset).
And the problem then ends up that the PnP thing adds resources to inside
the PCI resource. It shouldn't. It's crap.

It should insert the resource to the root resource (or a bridge resource),
or not at all. If somebody else has already inserted a real device
resource, we already know about it, and the PnP information is going to be
just making things worse.

The *really* basic issue is that PnP and ACPI generally report utter crap.
We should always totally ignore them EXCEPT AS A WAY TO AVOID _NEW_
ALLOCATIONS.

That's the only valid reason to believe in ACPI: we don't know what the
hell it's talking about, but we _do_ know that we shouldn't be allocating
new resources over it (because if it actually happens to be correct, it is
some random scary stuff that we obviously didn't find out about).

But the moment we have better information (where "we actually scanned the
hardware" is the very definition of better information), we should always
totally discard any ACPI crud. It's guaranteed to be worse than what we
already know about.

That's all I ever wanted. To have ACPI realize that it should never ever
mess with something we know better about.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/