virtio: fix suspend when using virtio_balloon

Break out of wait_event_interruptible() if freezing has been requested,
in the vballoon thread. Without this change vballoon refuses to stop and
the system can't suspend.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org

authored by Marcelo Tosatti and committed by Rusty Russell 84a139a9 a489f0b5

+2 -1
+2 -1
drivers/virtio/virtio_balloon.c
··· 190 190 try_to_freeze(); 191 191 wait_event_interruptible(vb->config_change, 192 192 (diff = towards_target(vb)) != 0 193 - || kthread_should_stop()); 193 + || kthread_should_stop() 194 + || freezing(current)); 194 195 if (diff > 0) 195 196 fill_balloon(vb, diff); 196 197 else if (diff < 0)