Re: [PATCH v2] perf/smmuv3: Remove the leftover put_cpu() in error path

From: Will Deacon
Date: Mon Dec 16 2019 - 07:21:05 EST


[+Catalin]

On Wed, Dec 11, 2019 at 02:43:06PM +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.
>
> While we are at it, kill 'out_cpuhp_err' altogether and
> just return err if we fail to add the hotplug instance.
>
> Acked-by: Robin Murphy <robin.murphy@xxxxxxx>
> Signed-off-by: Hanjun Guo <guohanjun@xxxxxxxxxx>
> ---
> drivers/perf/arm_smmuv3_pmu.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/perf/arm_smmuv3_pmu.c b/drivers/perf/arm_smmuv3_pmu.c
> index 773128f..d704ecc 100644
> --- a/drivers/perf/arm_smmuv3_pmu.c
> +++ b/drivers/perf/arm_smmuv3_pmu.c
> @@ -814,7 +814,7 @@ static int smmu_pmu_probe(struct platform_device *pdev)
> if (err) {
> dev_err(dev, "Error %d registering hotplug, PMU @%pa\n",
> err, &res_0->start);
> - goto out_cpuhp_err;
> + return err;
> }
>
> err = perf_pmu_register(&smmu_pmu->pmu, name, -1);
> @@ -833,8 +833,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;
> }

Acked-by: Will Deacon <will@xxxxxxxxxx>

Catalin -- please can you take this as a fix via the arm64 tree? I don't
have any other perf patches pending at the moment.

Cheers,

Will