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 'thermal-6.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull thermal control fixes from Rafael Wysocki:
"These remove two recently added excessive lockdep assertions from the
sysfs-related thermal code and fix two issues in Intel thermal
drivers.

Specifics:

- Drop two lockdep assertions producing false positive warnings from
the sysfs-related thermal core code (Rafael Wysocki)

- Fix handling of two recently added module parameters in the Intel
powerclamp thermal driver (David Arcari)

- Fix one more deadlock in the int340x thermal driver (Srinivas
Pandruvada)"

* tag 'thermal-6.3-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
thermal: intel: powerclamp: Fix cpumask and max_idle module parameters
thermal: intel: int340x: processor_thermal: Fix additional deadlock
thermal: core: Drop excessive lockdep_assert_held() calls

+10 -6
-1
drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
··· 153 153 cancel_delayed_work_sync(&pci_info->work); 154 154 proc_thermal_mmio_write(pci_info, PROC_THERMAL_MMIO_INT_ENABLE_0, 0); 155 155 proc_thermal_mmio_write(pci_info, PROC_THERMAL_MMIO_THRES_0, 0); 156 - thermal_zone_device_disable(tzd); 157 156 pci_info->stored_thres = 0; 158 157 return 0; 159 158 }
+8 -1
drivers/thermal/intel/intel_powerclamp.c
··· 235 235 goto skip_limit_set; 236 236 } 237 237 238 + if (!cpumask_available(idle_injection_cpu_mask)) { 239 + ret = allocate_copy_idle_injection_mask(cpu_present_mask); 240 + if (ret) 241 + goto skip_limit_set; 242 + } 243 + 238 244 if (check_invalid(idle_injection_cpu_mask, new_max_idle)) { 239 245 ret = -EINVAL; 240 246 goto skip_limit_set; ··· 797 791 return retval; 798 792 799 793 mutex_lock(&powerclamp_lock); 800 - retval = allocate_copy_idle_injection_mask(cpu_present_mask); 794 + if (!cpumask_available(idle_injection_cpu_mask)) 795 + retval = allocate_copy_idle_injection_mask(cpu_present_mask); 801 796 mutex_unlock(&powerclamp_lock); 802 797 803 798 if (retval)
+2 -4
drivers/thermal/thermal_sysfs.c
··· 876 876 unsigned long states = cdev->max_state + 1; 877 877 int var; 878 878 879 - lockdep_assert_held(&cdev->lock); 880 - 881 879 var = sizeof(*stats); 882 880 var += sizeof(*stats->time_in_state) * states; 883 881 var += sizeof(*stats->trans_table) * states * states; ··· 901 903 902 904 static void cooling_device_stats_destroy(struct thermal_cooling_device *cdev) 903 905 { 904 - lockdep_assert_held(&cdev->lock); 905 - 906 906 kfree(cdev->stats); 907 907 cdev->stats = NULL; 908 908 } ··· 927 931 928 932 void thermal_cooling_device_stats_reinit(struct thermal_cooling_device *cdev) 929 933 { 934 + lockdep_assert_held(&cdev->lock); 935 + 930 936 cooling_device_stats_destroy(cdev); 931 937 cooling_device_stats_setup(cdev); 932 938 }