Re: 2.5.20 - Xircom PCI Cardbus doesn't work

Linus Torvalds
2002-06-14T18:05:48Z

On Fri, 14 Jun 2002, Vojtech Pavlik wrote:
>
> Could this be what has bitten us with new Intel IDE controllers on
> latest 2.5? They also were disabled due to 'resource collisions', and
> had some i/o not allocated at all - just size was nonzero. It was fixed
> in the quirks code by clearing the size fields, because the i/o space
> isn't needed ...

That's not this particular code - this code only handles PCMCIA.

But yes, it's the same issue: a resource that wasn't allocated by
the BIOS, and that the Linux boot sequence didn't bother to allocate
either. The PCI sequence _should_ allocate resources for non-PCMCIA
devices in pcibios_resource_survey(), where it does

pcibios_assign_resources();

but the fact is, that that code is explicitly disabled for IDE
controllers. See pcibios_assign_resources() in arch/i386/pci/i386.c.

I suspect that forcing resource assignment into "pci_enable_device()"
should fix that too.

Although there should probably be some way for the driver to tell which
resources it cares about (some drivers care about the PCI ROM's, for
example, others don't. Some drivers don't care about the IO region, and
others don't care about the MEM region). So the _right_ answer might be to
pass in a bitmap to "pci_enable_device()", which tells the enable code
which parts the driver really cares about..

Linus