From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Print conflicting entry if insertion fails. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> --- drivers/pci/probe.c | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index bfbf064..7662ab7 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -1717,8 +1717,7 @@ err_out: int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int bus_max) { struct resource *res = &b->busn_res; - struct resource *parent_res; - int ret; + struct resource *parent_res, *conflict; res->start = bus; res->end = bus_max; @@ -1731,14 +1730,20 @@ int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int bus_max) res->flags |= IORESOURCE_PCI_FIXED; } - ret = insert_resource(parent_res, res); + conflict = insert_resource_conflict(parent_res, res); - dev_printk(KERN_DEBUG, &b->dev, - "busn_res: %pR %s inserted under %s %pR\n", - res, ret ? "can not be" : "is", - pci_is_root_bus(b) ? "domain":"", parent_res); + if (conflict) + dev_printk(KERN_DEBUG, &b->dev, + "busn_res: can not insert %pR under %s%pR (conflicts with %s %pR)\n", + res, pci_is_root_bus(b) ? "domain " : "", + parent_res, conflict->name, conflict); + else + dev_printk(KERN_DEBUG, &b->dev, + "busn_res: %pR is inserted under %s%pR\n", + res, pci_is_root_bus(b) ? "domain " : "", + parent_res); - return ret; + return conflict == NULL; } int pci_bus_update_busn_res_end(struct pci_bus *b, int bus_max) -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html