intel-iommu: Don't complain that ACPI_DMAR_SCOPE_TYPE_IOAPIC is not supported
[safe/jmp/linux-2.6] / drivers / pci / setup-res.c
index 7d678bb..17bed18 100644 (file)
@@ -93,8 +93,7 @@ void pci_update_resource(struct pci_dev *dev, int resno)
 int pci_claim_resource(struct pci_dev *dev, int resource)
 {
        struct resource *res = &dev->resource[resource];
-       struct resource *root;
-       int err;
+       struct resource *root, *conflict;
 
        root = pci_find_parent_resource(dev, res);
        if (!root) {
@@ -103,12 +102,15 @@ int pci_claim_resource(struct pci_dev *dev, int resource)
                return -EINVAL;
        }
 
-       err = request_resource(root, res);
-       if (err)
+       conflict = request_resource_conflict(root, res);
+       if (conflict) {
                dev_err(&dev->dev,
-                       "address space collision: %pR already in use\n", res);
+                       "address space collision: %pR conflicts with %s %pR\n",
+                       res, conflict->name, conflict);
+               return -EBUSY;
+       }
 
-       return err;
+       return 0;
 }
 EXPORT_SYMBOL(pci_claim_resource);