Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pm-6.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fix from Rafael Rafael:
"Fix a locking issue in the cpufreq core introduced recently and caught
by lockdep (Christian Loehle)"

* tag 'pm-6.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: Initialize cpufreq-based invariance before subsys

+11 -9
+11 -9
drivers/cpufreq/cpufreq.c
··· 2953 2953 goto err_null_driver; 2954 2954 } 2955 2955 2956 + /* 2957 + * Mark support for the scheduler's frequency invariance engine for 2958 + * drivers that implement target(), target_index() or fast_switch(). 2959 + */ 2960 + if (!cpufreq_driver->setpolicy) { 2961 + static_branch_enable_cpuslocked(&cpufreq_freq_invariance); 2962 + pr_debug("cpufreq: supports frequency invariance\n"); 2963 + } 2964 + 2956 2965 ret = subsys_interface_register(&cpufreq_interface); 2957 2966 if (ret) 2958 2967 goto err_boost_unreg; ··· 2983 2974 hp_online = ret; 2984 2975 ret = 0; 2985 2976 2986 - /* 2987 - * Mark support for the scheduler's frequency invariance engine for 2988 - * drivers that implement target(), target_index() or fast_switch(). 2989 - */ 2990 - if (!cpufreq_driver->setpolicy) { 2991 - static_branch_enable_cpuslocked(&cpufreq_freq_invariance); 2992 - pr_debug("supports frequency invariance"); 2993 - } 2994 - 2995 2977 pr_debug("driver %s up and running\n", driver_data->name); 2996 2978 goto out; 2997 2979 2998 2980 err_if_unreg: 2999 2981 subsys_interface_unregister(&cpufreq_interface); 3000 2982 err_boost_unreg: 2983 + if (!cpufreq_driver->setpolicy) 2984 + static_branch_disable_cpuslocked(&cpufreq_freq_invariance); 3001 2985 remove_boost_sysfs_file(); 3002 2986 err_null_driver: 3003 2987 write_lock_irqsave(&cpufreq_driver_lock, flags);