We should decrease dev->enable_cnt when no pcie port capability found for balance. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Cc: Jiang Liu <jiang.liu@xxxxxxxxxx> Cc: Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> Cc: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> --- drivers/pci/pcie/portdrv_core.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c index 31063ac..dd95d6f 100644 --- a/drivers/pci/pcie/portdrv_core.c +++ b/drivers/pci/pcie/portdrv_core.c @@ -369,8 +369,10 @@ int pcie_port_device_register(struct pci_dev *dev) /* Get and check PCI Express port services */ capabilities = get_port_device_capability(dev); - if (!capabilities) + if (!capabilities) { + pci_disable_device(dev); return 0; + } pci_set_master(dev); /* -- 1.7.1 -- 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