PCI: keystone: Don't dereference possible NULL pointer
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 9 Apr 2015 19:34:10 +0000 (14:34 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 9 Apr 2015 19:34:10 +0000 (14:34 -0500)
Check for failure from platform_get_resource() (this check actually happens
inside devm_ioremap_resource()) before dereferencing the pointer returned
from platform_get_resource().

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/host/pci-keystone-dw.c

index 66d8ea41b972355ce377315bb7236e8b21872fac..f34892e0edb4f973e4dd3e9ab39b24cf0c2f0716 100644 (file)
@@ -496,11 +496,12 @@ int __init ks_dw_pcie_host_init(struct keystone_pcie *ks_pcie,
 
        /* Index 1 is the application reg. space address */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       ks_pcie->app = *res;
        ks_pcie->va_app_base = devm_ioremap_resource(pp->dev, res);
        if (IS_ERR(ks_pcie->va_app_base))
                return PTR_ERR(ks_pcie->va_app_base);
 
+       ks_pcie->app = *res;
+
        /* Create legacy IRQ domain */
        ks_pcie->legacy_irq_domain =
                        irq_domain_add_linear(ks_pcie->legacy_intc_np,