drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()
authorJing Xiangfeng <jingxiangfeng@huawei.com>
Thu, 17 Jun 2021 12:26:14 +0000 (20:26 +0800)
committerWill Deacon <will@kernel.org>
Thu, 17 Jun 2021 18:45:24 +0000 (19:45 +0100)
ddr_perf_probe() misses to call ida_simple_remove() in an error path.
Jump to cpuhp_state_err to fix it.

Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Link: https://lore.kernel.org/r/20210617122614.166823-1-jingxiangfeng@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/fsl_imx8_ddr_perf.c

index 2a1d787..94ebc1e 100644 (file)
@@ -702,8 +702,10 @@ static int ddr_perf_probe(struct platform_device *pdev)
 
        name = devm_kasprintf(&pdev->dev, GFP_KERNEL, DDR_PERF_DEV_NAME "%d",
                              num);
-       if (!name)
-               return -ENOMEM;
+       if (!name) {
+               ret = -ENOMEM;
+               goto cpuhp_state_err;
+       }
 
        pmu->devtype_data = of_device_get_match_data(&pdev->dev);