On Sat, Dec 13, 2003 at 01:54:27AM +0100, Vivien Chappelier wrote: > PCI devices can have I/O mapped at a region starting from > 0x0000. The O2 actually has one of its onboard SCSI controller here... > This code looks like a incorrect copy/paste from the x86 code where this > I/O range is used by legacy ISA. > > --- arch/mips/pci/pci.c 2003-11-12 16:51:09.000000000 +0100 > +++ arch/mips/pci/pci.c 2003-12-13 00:57:56.000000000 +0100 > @@ -173,10 +173,6 @@ > continue; > > 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; > - } > if (r->flags & IORESOURCE_IO) > cmd |= PCI_COMMAND_IO; > if (r->flags & IORESOURCE_MEM) > I tend to agree with Vivien. There's another unsolved problem with pcibios_enable_device - how many resources should it enable? Jun once changed it to PCI_NUM_RESOURCES but that broke other systems though it seems the logic thing to do ... The code he wants to remove is just a safety check for PCs. It doesn't much sense on legacy-free systems and these days less and less MIPS systems have legacy devices. I forgot the details but maybe removing above lines will even permit putting back the change Jun needed, will need to test. Ralf