]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
perf/dwc_pcie: Always register for PCIe bus notifier
authorKrishna chaitanya chundru <quic_krichai@quicinc.com>
Fri, 16 Aug 2024 15:17:22 +0000 (20:47 +0530)
committerWill Deacon <will@kernel.org>
Fri, 23 Aug 2024 15:07:26 +0000 (16:07 +0100)
When the PCIe devices are discovered late, the driver can't find
the PCIe devices and returns in the init without registering with
the bus notifier. Due to that the devices which are discovered late
the driver can't register for this.

Register for bus notifier & driver even if the device is not found
as part of init.

Fixes: af9597adc2f1 ("drivers/perf: add DesignWare PCIe PMU driver")
Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
Reviewed-by: Yicong Yang <yangyicong@hisilicon.com>
Link: https://lore.kernel.org/r/20240816-dwc_pmu_fix-v2-3-198b8ab1077c@quicinc.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/dwc_pcie_pmu.c

index 85a5155d60180cad0ec018214b8cbc617f06431c..f205ecad2e4c0620e8cad5691b4e2409e3edd5a1 100644 (file)
@@ -726,7 +726,6 @@ static struct platform_driver dwc_pcie_pmu_driver = {
 static int __init dwc_pcie_pmu_init(void)
 {
        struct pci_dev *pdev = NULL;
-       bool found = false;
        int ret;
 
        for_each_pci_dev(pdev) {
@@ -738,11 +737,7 @@ static int __init dwc_pcie_pmu_init(void)
                        pci_dev_put(pdev);
                        return ret;
                }
-
-               found = true;
        }
-       if (!found)
-               return -ENODEV;
 
        ret = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN,
                                      "perf/dwc_pcie_pmu:online",