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

Bjorn Helgaas
2008-02-14T20:06:31Z

On Thursday 14 February 2008 12:42:52 pm Linus Torvalds wrote:
>
> On Thu, 14 Feb 2008, Bjorn Helgaas wrote:
> >
> > Sorry for the delay. I did work on this, but I don't see how this
> > can work. pcibios_init() marks its reservations as not busy, so the
> > subsequent PNP request doesn't fail, even if it clashes.
>
> It *shouldn't* fail.
>
> Things should fail only when two different drivers have requested the same
> region. NOT when something tells the system that a region _exists_.

The sound driver doesn't fail because two different drivers have
requested the same region; it fails because PNP told us a region
exists, and the sound region crosses the edge of the PNP region.

You wrote earlier that:

> On Tue, 5 Feb 2008, Bjorn Helgaas wrote:
> > >  - PnP/ACPI resource allocation *after* it, but before driver
> > > loading (which wll cause new resources to be allocated). This
> > > could be fs_initcall, or whatever (that's what things like
> > > "acpi_event_init" already do).
> >
> > If we put the PNP system driver here, we can easily do a quirk
> > that ignores PNP resources that overlap PCI resources.
>
> No, you don't need any quirks: you just do an "insert_resource()"
> and ignore the error return. If the (bogus) PnP resource clashes
> with the (correct) hardware PCI resource, the insert will simply
> fail. No quirks needed.

I thought you were suggesting here that the PNP system driver would
do an insert_resource(), and it would fail if it clashed with the
PCI resource.

Can you be more explicit about how you think I should fix this?

Bjorn