pci_bus_for_each_resource, transparent bridges and rsrc_nonstatic.c

Dominik Brodowski linux at dominikbrodowski.net
Mon Mar 22 08:00:41 EDT 2010


Bjorn, Jesse,

Komuro reports the following issue:

lspci -vvv [snippets]:

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) (prog-if 01 [Subtractive decode])
...
	Bus: primary=00, secondary=04, subordinate=05, sec-latency=32
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: d2000000-d40fffff
	Prefetchable memory behind bridge: 00000000d0000000-00000000d1ffffff

04:06.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b6)


Iterating over the bus (4) resources used to report just IO 0x1000-0x1ffff,
MEM d2...-d4..., prefetch d0...-d1..., and that's exactly what we need in
drivers/pcmcia/rsrc_nonstatic.c . However, the newly added
pci_bus_for_each_resource() seems to return _also_ additional resources,
which we need to exclude in drivers/pcmcia/rssrc_nonstatic.c . Any ideas on
how to fix this issue?

> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge I/O window: 0x1000 - 0x1fff
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge Memory window: 0xd2000000 - 0xd40fffff
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge Memory window: 0xd0000000 - 0xd1ffffff
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge I/O window: 0x0 - 0xcf7
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge I/O window: 0xd00 - 0xffff
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge Memory window: 0xa0000 - 0xbffff
> yenta_cardbus 0000:04:06.0: pcmcia: parent PCI bridge Memory window: 0xc0000000 - 0xfebfffff

Best,
	Dominik



More information about the linux-pcmcia mailing list