diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-06-02 16:42:49 -0600 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-06-02 15:59:06 -0700 |
commit | 4b34fe156455d26ee6ed67b61539f136bf4e439c (patch) | |
tree | 901d16b111b1cbb2b7eaed549e54b548643e8a45 /drivers/pnp | |
parent | c3b25b32e8bef526cca748e1ba023c6bdd705a99 (diff) | |
download | linux-4b34fe156455d26ee6ed67b61539f136bf4e439c.tar.gz linux-4b34fe156455d26ee6ed67b61539f136bf4e439c.tar.bz2 linux-4b34fe156455d26ee6ed67b61539f136bf4e439c.zip |
PNP: mark resources that conflict with PCI devices "disabled"
Both the PNP/PCI conflict detection quirk and the PNP system
driver must use the same mechanism to mark resources as disabled.
I think it's best to keep the resource and to keep the type bit
(IORESOURCE_MEM, etc), so that we match the list from firmware
as closely as possible.
Fixes this regression from 2.6.25: http://lkml.org/lkml/2008/6/1/82
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Tested-by: Avuton Olrich <avuton@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/pnp')
-rw-r--r-- | drivers/pnp/quirks.c | 2 | ||||
-rw-r--r-- | drivers/pnp/system.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c index e2b7de4cb05e..1ff3bb585ab2 100644 --- a/drivers/pnp/quirks.c +++ b/drivers/pnp/quirks.c @@ -286,7 +286,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev) pci_name(pdev), i, (unsigned long long) pci_start, (unsigned long long) pci_end); - res->flags = 0; + res->flags |= IORESOURCE_DISABLED; } } } diff --git a/drivers/pnp/system.c b/drivers/pnp/system.c index 9c2496dbeee4..8f0a570509c5 100644 --- a/drivers/pnp/system.c +++ b/drivers/pnp/system.c @@ -81,7 +81,7 @@ static void reserve_resources_of_dev(struct pnp_dev *dev) } for (i = 0; (res = pnp_get_resource(dev, IORESOURCE_MEM, i)); i++) { - if (res->flags & IORESOURCE_UNSET) + if (res->flags & IORESOURCE_DISABLED) continue; reserve_range(dev, res->start, res->end, 0); |