powerpc/mpc83xx: Add the missing set_freezable() for agent_thread_fn()
authorKevin Hao <haokexin@gmail.com>
Thu, 21 Dec 2023 04:45:08 +0000 (12:45 +0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 21 Dec 2023 11:10:13 +0000 (22:10 +1100)
The kernel thread function agent_thread_fn() invokes the try_to_freeze()
in its loop. But all the kernel threads are non-freezable by default.
So if we want to make a kernel thread to be freezable, we have to invoke
set_freezable() explicitly.

Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231221044510.1802429-2-haokexin@gmail.com
arch/powerpc/platforms/83xx/suspend.c

index 9833c36bda83855f66999cb668ee7b96d5c86536..eed325ed08ccc375673098febb68cb4c309b11b8 100644 (file)
@@ -261,6 +261,8 @@ static int mpc83xx_suspend_begin(suspend_state_t state)
 
 static int agent_thread_fn(void *data)
 {
+       set_freezable();
+
        while (1) {
                wait_event_interruptible(agent_wq, pci_pm_state >= 2);
                try_to_freeze();