When CPU hotplug is run along with suspend/hibernate tests usingthe pm_test framework, even at the freezer level, we hit task freezingfailures. One such failure was reported here:https://lkml.org/lkml/2011/9/5/28

The x86 microcode update driver has callbacks registered for CPU hotplugevents such as a CPU getting offlined or onlined. Things go wrong when aCPU hotplug stress test is carried out along with a suspend/resume operationrunning simultaneously. Upon getting a CPU_DEAD notification (for example,when a CPU offline occurs with tasks not frozen), the microcode callbackfrees up the microcode and invalidates it. Later, when that CPU gets onlinedwith tasks being frozen, the microcode callback (for the CPU_ONLINE_FROZENevent) tries to apply the microcode to the CPU; doesn't find it and hencedepends on the (currently frozen) userspace to get the microcode again. Thisleads to the numerous "WARNING"s at drivers/base/firmware_class.c whicheventually leads to task freezing failures in the suspend code path, as hasbeen reported.

So, this patch series addresses this issue by ensuring that CPU hotplug andsuspend/hibernate don't run in parallel, thereby fixing the task freezingfailures.