unsigned int data;
PR_FUNC_LINE;
+ if (!port->status)
+ return;
+
data = rp_readl(port, NV_PCIE2_RP_VEND_CTL1);
if (enable)
data |= PCIE2_RP_VEND_CTL1_ERPT;
port = list_entry(v, struct tegra_pcie_port, list);
+ if (!port->status)
+ return 0;
+
value = readl(port->base + RP_VEND_XP);
if (value & RP_VEND_XP_DL_UP)
goto remove;
list_for_each_entry(port, &pcie->ports, list) {
- if (tegra_pcie_port_debugfs_init(port))
- goto remove;
+ if (port->status)
+ if (tegra_pcie_port_debugfs_init(port))
+ goto remove;
}
return 0;
if (ret)
return ret;
- if (IS_ENABLED(CONFIG_DEBUG_FS)) {
- int ret = tegra_pcie_debugfs_init(pcie);
- if (ret < 0)
- dev_err(&pdev->dev, "failed to setup debugfs: %d\n",
- ret);
+ if (IS_ENABLED(CONFIG_DEBUG_FS))
+ if (pcie->num_ports) {
+ int ret = tegra_pcie_debugfs_init(pcie);
+ if (ret < 0)
+ dev_err(&pdev->dev, "failed to setup debugfs: %d\n",
+ ret);
}
return 0;