Commit b6d00f0d authored by Dominik Brodowski's avatar Dominik Brodowski Committed by Linus Torvalds

[PATCH] ACPI-based PCI resources: PCMCIA bugfix, but resources missing in trees

Don't auto-configure yenta sockets for PCMCIA devices if it is connected to
the root PCI bus on the x86 or x86_64 architectures.  Previously, this was
handled by the "ioport_resource"/"iomem_resource" check a few lines below,
but with the new ACPI-based resource handling this doesn't catch all cases
any longer.

pci-yenta-cardbus-fix.patch and this patch should solve the initialization
time trouble.  However, the ACPI-based PCI resource handling is badly
broken, IMHO:

- many resources of devices don't show up in the resource trees (
  /proc/iomem and /proc/ioports) any longer. This means that PCMCIA, but
  also possibly other subsystems (ISA, PnP, ...) do not know which resources
  it cannot use.

- verify_root_windows() should fail if there are no iomem _or_ ioport
  resources, not only if there are no iomem _and_ ioport resources.
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3248ff43
...@@ -779,6 +779,17 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s) ...@@ -779,6 +779,17 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
if (!s->cb_dev || !s->cb_dev->bus) if (!s->cb_dev || !s->cb_dev->bus)
return -ENODEV; return -ENODEV;
#if defined(CONFIG_X86) || defined(CONFIG_X86_64)
/* If this is the root bus, the risk of hitting
* some strange system devices which aren't protected
* by either ACPI resource tables or properly requested
* resources is too big. Therefore, don't do auto-adding
* of resources at the moment.
*/
if (s->cb_dev->bus->number == 0)
return -EINVAL;
#endif
for (i=0; i < PCI_BUS_NUM_RESOURCES; i++) { for (i=0; i < PCI_BUS_NUM_RESOURCES; i++) {
res = s->cb_dev->bus->resource[i]; res = s->cb_dev->bus->resource[i];
if (!res) if (!res)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment