{
        struct i915_pmu *pmu = >->i915->pmu;
 
-       if (pmu->closed)
+       if (!pmu->registered)
                return;
 
        spin_lock_irq(&pmu->lock);
 {
        struct i915_pmu *pmu = >->i915->pmu;
 
-       if (pmu->closed)
+       if (!pmu->registered)
                return;
 
        spin_lock_irq(&pmu->lock);
        struct drm_i915_private *i915 = pmu_to_i915(pmu);
        int ret;
 
-       if (pmu->closed)
+       if (!pmu->registered)
                return -ENODEV;
 
        if (event->attr.type != event->pmu->type)
        struct hw_perf_event *hwc = &event->hw;
        u64 prev, new;
 
-       if (pmu->closed) {
+       if (!pmu->registered) {
                event->hw.state = PERF_HES_STOPPED;
                return;
        }
 {
        struct i915_pmu *pmu = event_to_pmu(event);
 
-       if (pmu->closed)
+       if (!pmu->registered)
                return;
 
        i915_pmu_enable(event);
 {
        struct i915_pmu *pmu = event_to_pmu(event);
 
-       if (pmu->closed)
+       if (!pmu->registered)
                goto out;
 
        if (flags & PERF_EF_UPDATE)
 {
        struct i915_pmu *pmu = event_to_pmu(event);
 
-       if (pmu->closed)
+       if (!pmu->registered)
                return -ENODEV;
 
        if (flags & PERF_EF_START)
         * Unregistering an instance generates a CPU offline event which we must
         * ignore to avoid incorrectly modifying the shared i915_pmu_cpumask.
         */
-       if (pmu->closed)
+       if (!pmu->registered)
                return 0;
 
        if (cpumask_test_and_clear_cpu(cpu, &i915_pmu_cpumask)) {
        };
        int ret = -ENOMEM;
 
-       pmu->closed = true;
-
        spin_lock_init(&pmu->lock);
        hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
        pmu->timer.function = i915_sample;
        if (ret)
                goto err_unreg;
 
-       pmu->closed = false;
+       pmu->registered = true;
 
        return;
 
 {
        struct i915_pmu *pmu = &i915->pmu;
 
+       if (!pmu->registered)
+               return;
+
        /*
         * "Disconnect" the PMU callbacks - since all are atomic synchronize_rcu
         * ensures all currently executing ones will have exited before we
         * proceed with unregistration.
         */
-       pmu->closed = true;
+       pmu->registered = false;
        synchronize_rcu();
 
        hrtimer_cancel(&pmu->timer);