cpufreq: intel_pstate: Drop redundant locking from intel_pstate_driver_cleanup()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 21 Mar 2024 19:29:43 +0000 (20:29 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 2 Apr 2024 10:56:08 +0000 (12:56 +0200)
Remove the spinlock locking from intel_pstate_driver_cleanup() as it is
not necessary because no other code accessing all_cpu_data[] can run in
parallel with that function.

Had the locking been necessary, though, it would have been incorrect
because the lock in question is acquired from a hardirq handler and
it cannot be acquired from thread context without disabling interrupts.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c

index dbbf299f42197b55b9d9fbdf1d25f3c29b7d82fd..bcbeed92458d427b1c80447eecbaf8948d1632bf 100644 (file)
@@ -3135,10 +3135,8 @@ static void intel_pstate_driver_cleanup(void)
                        if (intel_pstate_driver == &intel_pstate)
                                intel_pstate_clear_update_util_hook(cpu);
 
-                       spin_lock(&hwp_notify_lock);
                        kfree(all_cpu_data[cpu]);
                        WRITE_ONCE(all_cpu_data[cpu], NULL);
-                       spin_unlock(&hwp_notify_lock);
                }
        }
        cpus_read_unlock();