perf/marvell_cn10k: Fix tad_pmu_event_init() to check pmu type first
authorTanmay Jagdale <tanmay@marvell.com>
Tue, 10 May 2022 10:26:57 +0000 (15:56 +0530)
committerWill Deacon <will@kernel.org>
Tue, 10 May 2022 11:14:27 +0000 (12:14 +0100)
Make sure to check the pmu type first and then check event->attr.disabled.
Doing so would avoid reading the disabled attribute of an event that is
not handled by TAD PMU.

Signed-off-by: Tanmay Jagdale <tanmay@marvell.com>
Link: https://lore.kernel.org/r/20220510102657.487539-1-tanmay@marvell.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/marvell_cn10k_tad_pmu.c

index ee67305..282d3a0 100644 (file)
@@ -146,12 +146,12 @@ static int tad_pmu_event_init(struct perf_event *event)
 {
        struct tad_pmu *tad_pmu = to_tad_pmu(event->pmu);
 
-       if (!event->attr.disabled)
-               return -EINVAL;
-
        if (event->attr.type != event->pmu->type)
                return -ENOENT;
 
+       if (!event->attr.disabled)
+               return -EINVAL;
+
        if (event->state != PERF_EVENT_STATE_OFF)
                return -EINVAL;