From: Harald Welte (Not sure about this; it's here so I don't forget the issue) [disclaimer: This was posted on the linuxppc list before, BenH asked me=20 to re-post it to lkml] The prism54 (http://prism54.org) driver for my cardbus adapter works with 2.4.x, but not 2.6.x on a Titanium G4 Powerbook IV. On 2.6.x the error message was PCI:0001:02:00.0 Resource 0 [00000000-00001fff] is unassigned After investigating differences in the PCI code of 2.4.x and 2.6.x, i noticed that 2.4.x/arc/ppc/kernel/pci.c:pcibios_update_resource() contained a couple of lines that unset the IORESOURCE_UNSET bitflag. In 2.6.x, this is handled by the generic PCI core in drivers/pci/setup-res.c:pci_update_resource() code. However, the code is missing the 'res->flags &=3D ~IORESOURCE_UNSET' part. The below fix re-adds that section from 2.4.x.=20 I'm not sure wether this belongs into the arch-independent PCI api. Anyway, on PPC it seems to be needed for certain cardbus devices. Any comments welcome. 25-akpm/drivers/pci/setup-res.c | 4 ++++ 1 files changed, 4 insertions(+) diff -puN drivers/pci/setup-res.c~pci-clear-IORESOURCE_UNSET drivers/pci/setup-res.c --- 25/drivers/pci/setup-res.c~pci-clear-IORESOURCE_UNSET Wed Dec 24 12:17:14 2003 +++ 25-akpm/drivers/pci/setup-res.c Wed Dec 24 12:32:07 2003 @@ -84,6 +84,10 @@ pci_update_resource(struct pci_dev *dev, pci_name(dev), resno, new, check); } } + res->flags &= ~IORESOURCE_UNSET; + DBGC((KERN_INFO "PCI: moved device %s resource %d (%lx) to %x\n", + dev->slot_name, resno, res->flags, + new & ~PCI_REGION_FLAG_MASK)); } int __init _