cpufreq_driver = driver_data;
        write_unlock_irqrestore(&cpufreq_driver_lock, flags);
 
-       /*
-        * Mark support for the scheduler's frequency invariance engine for
-        * drivers that implement target(), target_index() or fast_switch().
-        */
-       if (!cpufreq_driver->setpolicy) {
-               static_branch_enable_cpuslocked(&cpufreq_freq_invariance);
-               pr_debug("supports frequency invariance");
-       }
-
        if (driver_data->setpolicy)
                driver_data->flags |= CPUFREQ_CONST_LOOPS;
 
        hp_online = ret;
        ret = 0;
 
+       /*
+        * Mark support for the scheduler's frequency invariance engine for
+        * drivers that implement target(), target_index() or fast_switch().
+        */
+       if (!cpufreq_driver->setpolicy) {
+               static_branch_enable_cpuslocked(&cpufreq_freq_invariance);
+               pr_debug("supports frequency invariance");
+       }
+
        pr_debug("driver %s up and running\n", driver_data->name);
        goto out;