Re: [patch 2/2] PNP: don't check disabled PCI BARs for conflicts in quirk_system_pci_resources()

Linus Torvalds
2008-09-30T14:48:53Z

On Tue, 30 Sep 2008, Rene Herman wrote:
>
> Just did the attached which might match that intention. Please do not consider
> this a submission as I've no idea if this is sensible nor if it actually helps
> Frans. Just for discussion. Anything here should arrive through Bjorn.

I think you got the logic the wrong way around:

+ /* have we been registered already? */
+ if (pci_res->parent)
+ continue;

This ignores resources that are _registered_, but it should be the other
way around - we should ignore resources that aren't (because they may be
invalid or they may move around)

+ pci_start = pci_res->start;
+ pci_end = pci_res->end;
+
+ if (pci_end < pci_start || !pci_end)
+ continue;

Hmm. This should be unnecessary with any registered resource, since the
resource code wouldn't allow registering such a resource in the first
place.

Of course, it may be that the PnP code runs too early, and we have only
parsed the PCI resources, not inserted them into the resource tree yet. If
so, none of this will work, of course.

Linus