--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -424,6 +424,8 @@ void __init cns3xxx_pcie_init_late(void)
 
 	for (i = 0; i < ARRAY_SIZE(cns3xxx_pcie); i++) {
 		cns3xxx_pcie_check_link(&cns3xxx_pcie[i]);
+		if (!cns3xxx_pcie[i].linked)
+			continue;
 		cns3xxx_pcie_hw_init(&cns3xxx_pcie[i]);
 		pci_common_init(&cns3xxx_pcie[i].hw_pci);
 	}