diff mbox series

xen/balloon: fix balloon kthread freezing

Message ID 20210920100345.21939-1-jgross@suse.com (mailing list archive)
State Accepted
Commit 96f5bd03e1be606987644b71899ea56a8d05f825
Headers show
Series xen/balloon: fix balloon kthread freezing | expand

Commit Message

Jürgen Groß Sept. 20, 2021, 10:03 a.m. UTC
Commit 8480ed9c2bbd56 ("xen/balloon: use a kernel thread instead a
workqueue") switched the Xen balloon driver to use a kernel thread.
Unfortunately the patch omitted to call try_to_freeze() or to use
wait_event_freezable_timeout(), causing a system suspend to fail.

Fixes: 8480ed9c2bbd56 ("xen/balloon: use a kernel thread instead a workqueue")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/balloon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Boris Ostrovsky Sept. 20, 2021, 7:29 p.m. UTC | #1
On 9/20/21 6:03 AM, Juergen Gross wrote:
> Commit 8480ed9c2bbd56 ("xen/balloon: use a kernel thread instead a
> workqueue") switched the Xen balloon driver to use a kernel thread.
> Unfortunately the patch omitted to call try_to_freeze() or to use
> wait_event_freezable_timeout(), causing a system suspend to fail.
>
> Fixes: 8480ed9c2bbd56 ("xen/balloon: use a kernel thread instead a workqueue")
> Signed-off-by: Juergen Gross <jgross@suse.com>



Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
diff mbox series

Patch

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 2d2803883306..43ebfe36ac27 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -522,8 +522,8 @@  static int balloon_thread(void *unused)
 			timeout = 3600 * HZ;
 		credit = current_credit();
 
-		wait_event_interruptible_timeout(balloon_thread_wq,
-				 balloon_thread_cond(state, credit), timeout);
+		wait_event_freezable_timeout(balloon_thread_wq,
+			balloon_thread_cond(state, credit), timeout);
 
 		if (kthread_should_stop())
 			return 0;