On Thu, 27 Oct 2016 17:17:26 +0200 Sebastian Andrzej Siewior <bige...@linutronix.de> wrote:
> On 2016-10-27 16:53:48 [+0200], Petr Mladek wrote: > > > > In each case, I wonder if the problem is caused by the conversion > > to the kthread worker or by the CPU hotplug state conversion. > > drop the hotplug patch and you will see. > Petr, I dropped hp patch no long see the hang during suspend to s3. However, the problem seems to be this line, diff --git a/drivers/thermal/intel_powerclamp.c b/drivers/thermal/intel_powerclamp.c index 390e50b..b61da57 100644 --- a/drivers/thermal/intel_powerclamp.c +++ b/drivers/thermal/intel_powerclamp.c @@ -574,7 +574,7 @@ static void stop_power_clamp_worker(unsigned long cpu) */ del_timer_sync(&w_data->wakeup_timer); clear_bit(w_data->cpu, cpu_clamping_mask); - kthread_destroy_worker(w_data->worker); +// kthread_destroy_worker(w_data->worker); w_data->worker = NULL; } If I do the above, everything works with S3 and CPU HP patch. Inside kthread_destroy_worker() kthread_flush_worker(worker); never completes then blocks s3 entry! I will be at LPC next week also, we can chat about that. Thanks, Jacob > > Best Regards, > > Petr > > Sebastian [Jacob Pan]