Message ID | 20240816-dwc_pmu_fix-v2-3-198b8ab1077c@quicinc.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | perf/dwc_pcie: Fix registration issue in multi PCIe controller instances | expand |
On 2024/8/16 23:17, Krishna chaitanya chundru wrote: > 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> > --- > drivers/perf/dwc_pcie_pmu.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/drivers/perf/dwc_pcie_pmu.c b/drivers/perf/dwc_pcie_pmu.c > index 85a5155d6018..f205ecad2e4c 100644 > --- a/drivers/perf/dwc_pcie_pmu.c > +++ b/drivers/perf/dwc_pcie_pmu.c > @@ -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", >
diff --git a/drivers/perf/dwc_pcie_pmu.c b/drivers/perf/dwc_pcie_pmu.c index 85a5155d6018..f205ecad2e4c 100644 --- a/drivers/perf/dwc_pcie_pmu.c +++ b/drivers/perf/dwc_pcie_pmu.c @@ -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",
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> --- drivers/perf/dwc_pcie_pmu.c | 5 ----- 1 file changed, 5 deletions(-)