瀏覽代碼

PCI: Show driver, BAR#, and resource on pci_ioremap_bar() failure

Use dev_warn() to complain about a pci_ioremap_bar() failure so we can
include the driver name, BAR number, and the resource itself.  We could use
dev_WARN() to also get the backtrace as we did previously, but I think
that's more information than we need.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Bjorn Helgaas 10 年之前
父節點
當前提交
1f7bf3bfb5
共有 1 個文件被更改,包括 5 次插入4 次删除
  1. 5 4
      drivers/pci/pci.c

+ 5 - 4
drivers/pci/pci.c

@@ -126,15 +126,16 @@ EXPORT_SYMBOL_GPL(pci_bus_max_busnr);
 #ifdef CONFIG_HAS_IOMEM
 #ifdef CONFIG_HAS_IOMEM
 void __iomem *pci_ioremap_bar(struct pci_dev *pdev, int bar)
 void __iomem *pci_ioremap_bar(struct pci_dev *pdev, int bar)
 {
 {
+	struct resource *res = &pdev->resource[bar];
+
 	/*
 	/*
 	 * Make sure the BAR is actually a memory resource, not an IO resource
 	 * Make sure the BAR is actually a memory resource, not an IO resource
 	 */
 	 */
-	if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM)) {
-		WARN_ON(1);
+	if (!(res->flags & IORESOURCE_MEM)) {
+		dev_warn(&pdev->dev, "can't ioremap BAR %d: %pR\n", bar, res);
 		return NULL;
 		return NULL;
 	}
 	}
-	return ioremap_nocache(pci_resource_start(pdev, bar),
-				     pci_resource_len(pdev, bar));
+	return ioremap_nocache(res->start, resource_size(res));
 }
 }
 EXPORT_SYMBOL_GPL(pci_ioremap_bar);
 EXPORT_SYMBOL_GPL(pci_ioremap_bar);
 #endif
 #endif