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

Pull power management fixes from Rafael Wysocki:
"This includes a PM QoS framework fix from Tejun to prevent interrupts
from being enabled unexpectedly during early boot and a cpufreq
documentation fix.

Specifics:

- If the PM QoS framework invokes cancel_delayed_work_sync() during
early boot, it will enable interrupts which is not expected at that
point, so prevent it from happening (Tejun Heo)

- Fix cpufreq statistic documentation to follow a recent change in
behavior that forgot to update it as appropriate (Jean Delvare)"

* tag 'pm-4.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq-stats: Minor documentation fix
PM / QoS: avoid calling cancel_delayed_work_sync() during early boot

+11 -2
+1 -1
Documentation/cpu-freq/cpufreq-stats.txt
··· 103 103 Power management options (ACPI, APM) ---> 104 104 CPU Frequency scaling ---> 105 105 [*] CPU Frequency scaling 106 - <*> CPU frequency translation statistics 106 + [*] CPU frequency translation statistics 107 107 [*] CPU frequency translation statistics details 108 108 109 109
+10 -1
kernel/power/qos.c
··· 482 482 return; 483 483 } 484 484 485 - cancel_delayed_work_sync(&req->work); 485 + /* 486 + * This function may be called very early during boot, for example, 487 + * from of_clk_init(), where irq needs to stay disabled. 488 + * cancel_delayed_work_sync() assumes that irq is enabled on 489 + * invocation and re-enables it on return. Avoid calling it until 490 + * workqueue is initialized. 491 + */ 492 + if (keventd_up()) 493 + cancel_delayed_work_sync(&req->work); 494 + 486 495 __pm_qos_update_request(req, new_value); 487 496 } 488 497 EXPORT_SYMBOL_GPL(pm_qos_update_request);