lkml.org 
[lkml]   [2003]   [Dec]   [24]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateWed, 24 Dec 2003 12:10:55 +0100
FromHarald Welte <>
Subject[PATCH 2.6] fix pci_update_resource() / IORESOURCE_UNSET on PPC
Hi!

[disclaimer:  This was posted on the linuxppc list before, BenH asked me 
 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 &= ~IORESOURCE_UNSET' part.

The below fix re-adds that section from 2.4.x. 

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.

diff -Nru linuxppc25bh-031214-plain/drivers/pci/setup-res.c linuxppc25bh-031214-orinoco_monitor/drivers/pci/setup-res.c
--- linuxppc25bh-031214-plain/drivers/pci/setup-res.c	2003-12-05 02:37:16.000000000 +0100
+++ linuxppc25bh-031214-orinoco_monitor/drivers/pci/setup-res.c	2003-12-15 12:08:11.000000000 +0100
@@ -84,6 +84,10 @@
 			       pci_name(dev), resno, new, check);
 		}
 	}
+	res->flags &= ~IORESOURCE_UNSET;
+	printk(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
-- 
- Harald Welte <laforge@gnumonks.org>               http://www.gnumonks.org/
============================================================================
Programming is like sex: One mistake and you have to support it your lifetime[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 12:59    [from the cache]
©2003-2008