summaryrefslogtreecommitdiffstats
path: root/drivers/of/of_pci.c
diff options
context:
space:
mode:
authorPavel Fedin <p.fedin@samsung.com>2015-10-08 09:24:26 +0200
committerRob Herring <robh@kernel.org>2015-10-13 20:30:42 +0200
commitf134f25162e7174ebe63f8aa16810192606eb826 (patch)
tree68496fe469336a2c4c8bd6bc85ce65c139fd3d41 /drivers/of/of_pci.c
parentPCI: of: Add 64-bit address recognition without LPAE support (diff)
downloadlinux-f134f25162e7174ebe63f8aa16810192606eb826.tar.xz
linux-f134f25162e7174ebe63f8aa16810192606eb826.zip
PCI: of: Ignore resources with failed translation
This patch allows PCI host controller to function even if part of resources is unusable for some reason. An example is non-LPAE kernel on a machine which has some 64-bit resources. Unusable resources will be just skipped instead of a complete failure. Signed-off-by: Pavel Fedin <p.fedin@samsung.com> Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of/of_pci.c')
-rw-r--r--drivers/of/of_pci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
index 5751dc5b6494..ea7c2b6dfc56 100644
--- a/drivers/of/of_pci.c
+++ b/drivers/of/of_pci.c
@@ -223,8 +223,10 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
}
err = of_pci_range_to_resource(&range, dev, res);
- if (err)
- goto conversion_failed;
+ if (err) {
+ kfree(res);
+ continue;
+ }
if (resource_type(res) == IORESOURCE_IO) {
if (!io_base) {