Merge branch 'pm-sleep'
Merge updates related to system suspend and hibernation for 6.20-rc1/7.0-rc1: - Stop flagging the PM runtime workqueue as freezable to avoid system suspend and resume deadlocks in subsystems that assume asynchronous runtime PM to work during system-wide PM transitions (Rafael Wysocki) - Drop redundant NULL pointer checks before acomp_request_free() from the hibernation code handling image saving (Rafael Wysocki) - Update wakeup_sources_walk_start() to handle empty lists of wakeup sources as appropriate (Samuel Wu) - Make dev_pm_clear_wake_irq() check the power.wakeirq value under power.lock to avoid race conditions (Gui-Dong Han) - Avoid bit field races related to power.work_in_progress in the core device suspend code (Xuewen Yan) * pm-sleep: PM: sleep: core: Avoid bit field races related to work_in_progress PM: sleep: wakeirq: harden dev_pm_clear_wake_irq() against races PM: wakeup: Handle empty list in wakeup_sources_walk_start() PM: hibernate: Drop NULL pointer checks before acomp_request_free() PM: sleep: Do not flag runtime PM workqueue as freezable
This commit is contained in:
commit
c233403593
7 changed files with 20 additions and 19 deletions
|
|
@ -1125,7 +1125,7 @@ EXPORT_SYMBOL_GPL(pm_wq);
|
|||
|
||||
static int __init pm_start_workqueues(void)
|
||||
{
|
||||
pm_wq = alloc_workqueue("pm", WQ_FREEZABLE | WQ_UNBOUND, 0);
|
||||
pm_wq = alloc_workqueue("pm", WQ_UNBOUND, 0);
|
||||
if (!pm_wq)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
|
|
@ -902,8 +902,8 @@ out_clean:
|
|||
for (thr = 0; thr < nr_threads; thr++) {
|
||||
if (data[thr].thr)
|
||||
kthread_stop(data[thr].thr);
|
||||
if (data[thr].cr)
|
||||
acomp_request_free(data[thr].cr);
|
||||
|
||||
acomp_request_free(data[thr].cr);
|
||||
|
||||
if (!IS_ERR_OR_NULL(data[thr].cc))
|
||||
crypto_free_acomp(data[thr].cc);
|
||||
|
|
@ -1502,8 +1502,8 @@ out_clean:
|
|||
for (thr = 0; thr < nr_threads; thr++) {
|
||||
if (data[thr].thr)
|
||||
kthread_stop(data[thr].thr);
|
||||
if (data[thr].cr)
|
||||
acomp_request_free(data[thr].cr);
|
||||
|
||||
acomp_request_free(data[thr].cr);
|
||||
|
||||
if (!IS_ERR_OR_NULL(data[thr].cc))
|
||||
crypto_free_acomp(data[thr].cc);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue