Messages in this thread | | | Date | Tue, 10 Dec 2019 14:10:29 +0000 | From | Will Deacon <> | Subject | Re: [PATCH] perf/smmuv3: Remove the leftover put_cpu() in error path |
| |
On Tue, Dec 10, 2019 at 09:55:28PM +0800, Hanjun Guo wrote: > On 2019/12/10 21:24, Will Deacon wrote: > > On Tue, Dec 10, 2019 at 06:46:24PM +0800, Hanjun Guo wrote: > >> In smmu_pmu_probe(), there is put_cpu() in the error path, > >> which is wrong because we use raw_smp_processor_id() to > >> get the cpu ID, not get_cpu(), remove it. > >> > >> Signed-off-by: Hanjun Guo <guohanjun@huawei.com> > >> --- > >> drivers/perf/arm_smmuv3_pmu.c | 1 - > >> 1 file changed, 1 deletion(-) > >> > >> diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c > >> index 773128f..fd1d46a 100644 > >> --- a/drivers/perf/arm_smmuv3_pmu.c > >> +++ b/drivers/perf/arm_smmuv3_pmu.c > >> @@ -834,7 +834,6 @@ static int smmu_pmu_probe(struct platform_device *pdev) > >> out_unregister: > >> cpuhp_state_remove_instance_nocalls(cpuhp_state_num, &smmu_pmu->node); > >> out_cpuhp_err: > >> - put_cpu(); > >> return err; > > > > Can we kill 'out_cpuhp_err' altogether then and just return err if we fail > > to add the hotplug instance? > > Makes sense, but I think we can go further to kill both 'out_cpuhp_err' and > 'out_register' as below [1], what do you think?
Although that's functionally correct, I'd prefer to keep out_unregister(), since it acts as good reminder to anybody extending this function in future that they need to unregister the hotplug instance on failure.
Will
| |