perf: hisi: Fix use-after-free when register pmu fails
[linux-2.6-microblaze.git] / drivers / perf / hisilicon / hisi_uncore_sllc_pmu.c
index 6fe534a..e706ca5 100644 (file)
@@ -450,8 +450,8 @@ static int hisi_sllc_pmu_probe(struct platform_device *pdev)
        ret = perf_pmu_register(&sllc_pmu->pmu, name, -1);
        if (ret) {
                dev_err(sllc_pmu->dev, "PMU register failed, ret = %d\n", ret);
-               cpuhp_state_remove_instance(CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE,
-                                           &sllc_pmu->node);
+               cpuhp_state_remove_instance_nocalls(CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE,
+                                                   &sllc_pmu->node);
                return ret;
        }