diff mbox series

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

Message ID 1576046586-59145-1-git-send-email-guohanjun@huawei.com (mailing list archive)
State Mainlined
Commit 8ae4bcf4821c18a8fbfa0b2c1df26c1085e9d923
Headers show
Series [v2] perf/smmuv3: Remove the leftover put_cpu() in error path | expand

Commit Message

Hanjun Guo Dec. 11, 2019, 6:43 a.m. UTC
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@arm.com>
Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
---
 drivers/perf/arm_smmuv3_pmu.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Will Deacon Dec. 16, 2019, 12:20 p.m. UTC | #1
[+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@arm.com>
> Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
> ---
>  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@kernel.org>

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
Catalin Marinas Dec. 18, 2019, 4:15 p.m. UTC | #2
On Mon, Dec 16, 2019 at 12:20:57PM +0000, Will Deacon wrote:
> 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@arm.com>
> > Signed-off-by: Hanjun Guo <guohanjun@huawei.com>
> > ---
> >  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@kernel.org>
> 
> 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.

Queued.
diff mbox series

Patch

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;
 }