The patch titled workqueue: fix broken suspend on SMP with tifm has been removed from the -mm tree. Its filename was workqueue-fix-broken-suspend-on-smp-with-tifm.patch This patch was dropped because it was withdrawn ------------------------------------------------------ Subject: workqueue: fix broken suspend on SMP with tifm From: "Rafael J. Wysocki" <rjw@xxxxxxx> Prevent freezable worqueues from deadlocking with CPU hotplug during a suspend/hibernation by thawing their worker threads before they get stopped. Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/workqueue.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff -puN kernel/workqueue.c~workqueue-fix-broken-suspend-on-smp-with-tifm kernel/workqueue.c --- a/kernel/workqueue.c~workqueue-fix-broken-suspend-on-smp-with-tifm +++ a/kernel/workqueue.c @@ -799,9 +799,7 @@ static int __devinit workqueue_cpu_callb struct cpu_workqueue_struct *cwq; struct workqueue_struct *wq; - action &= ~CPU_TASKS_FROZEN; - - switch (action) { + switch (action & ~CPU_TASKS_FROZEN) { case CPU_LOCK_ACQUIRE: mutex_lock(&workqueue_mutex); return NOTIFY_OK; @@ -819,20 +817,29 @@ static int __devinit workqueue_cpu_callb switch (action) { case CPU_UP_PREPARE: + case CPU_UP_PREPARE_FROZEN: if (!create_workqueue_thread(cwq, cpu)) break; printk(KERN_ERR "workqueue for %i failed\n", cpu); return NOTIFY_BAD; case CPU_ONLINE: + case CPU_ONLINE_FROZEN: start_workqueue_thread(cwq, cpu); break; case CPU_UP_CANCELED: + case CPU_UP_CANCELED_FROZEN: start_workqueue_thread(cwq, -1); case CPU_DEAD: cleanup_workqueue_thread(cwq, cpu); break; + + case CPU_DEAD_FROZEN: + if (wq->freezeable) + thaw_process(cwq->thread); + cleanup_workqueue_thread(cwq, cpu); + break; } } _ Patches currently in -mm which might be from rjw@xxxxxxx are workqueue-fix-broken-suspend-on-smp-with-tifm.patch at91-fix-enable-disable_irq_wake-symmetry-in-pcmcia-driver.patch freezer-close-potential-race-between-refrigerator-and-thaw_tasks.patch freezer-fix-vfork-problem.patch freezer-take-kernel_execve-into-consideration.patch freezer-fix-kthread_create-vs-freezer-theoretical-race.patch freezer-fix-pf_nofreeze-vs-freezeable-race.patch freezer-move-frozen_process-to-kernel-power-processc.patch add-common-orderly_poweroff.patch add-suspend-related-notifications-for-cpu-hotplug-statistics.patch shrink_slab-handle-bad-shrinkers.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html