On Saturday 16 February 2008 11:49:56 Sergei Shtylyov wrote:
> Michael Buesch wrote:
>
> > There's a sanity check in pcibios_enable_resources() that looks like this:
>
> > r = &dev->resource[idx];
> > if (!r->start && r->end) {
> > printk(KERN_ERR "PCI: Device %s not available because of
> > resource collisions\n", pci_name(dev));
> > return -EINVAL;
> > }
> >
> > What is this check actually doing?
>
> It makes sure that a PCI resource is allocated (base of 0 means that it's
> unallocated due to previously detected resource conlict (or some other
> reason).
So well, that's what the error message already told me. ;)
But where is the actual bug? I mean, this tells me there's some collision
for this MMIO resource. Still, I can access the MMIO space just fine.
> > It triggers for me on a BCM4318 device which is behind a BCM4710 PCI bridge.
> > r->start is 0 and r->end is 0x1FFF when this triggers.
> > If I simply comment out that check the device is detected correctly
> > and seems to initialize just fine.
>
> No, that failnig resource should be relocated.
How?
--
Greetings Michael.
|