diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2025-05-12 15:23:30 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2025-05-13 14:27:11 +0200 |
commit | f7e9228532beb5c0cbb11101384ed977806ef691 (patch) | |
tree | ab9de094d0f356fd290ad3279a76b8bd3920fa67 | |
parent | 41abd479d14ee3276dab9ee5e2079ecd11dff8f6 (diff) |
cpufreq: Drop policy locking from cpufreq_policy_is_good_for_eas()
Policy locking was added to cpufreq_policy_is_good_for_eas() by commit
4854649b1fb4 ("cpufreq/sched: Move cpufreq-specific EAS checks to
cpufreq") to address a theoretical race condition, but it turned out to
introduce a circular locking dependency between the policy rwsem and
sched_domains_mutex via cpuset_mutex. This leads to a board lockup on
OdroidN2 that is based on the ARM64 Amlogic Meson SoC.
Drop the policy locking from cpufreq_policy_is_good_for_eas() to address
this issue.
Fixes: 4854649b1fb4 ("cpufreq/sched: Move cpufreq-specific EAS checks to cpufreq")
Closes: https://lore.kernel.org/linux-pm/1bf3df62-0641-459f-99fc-fd511e564b84@samsung.com/
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2806514.mvXUDI8C0e@rjwysocki.net
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 731ecfc178d8..be727da0be4d 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -3067,8 +3067,6 @@ static bool cpufreq_policy_is_good_for_eas(unsigned int cpu) return false; } - guard(cpufreq_policy_read)(policy); - return sugov_is_governor(policy); } |