diff options
author | Amit Shah <amit.shah@redhat.com> | 2011-09-14 11:36:41 +0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-11-02 05:11:00 +0400 |
commit | a08fa92d16f2fa112e3400c6c513d23ae78b960a (patch) | |
tree | 045c57551c2193a6d387231938e7426eaa450faf /drivers/char | |
parent | 291024ef351328e7b4ca6bae798abc816a43653c (diff) | |
download | linux-a08fa92d16f2fa112e3400c6c513d23ae78b960a.tar.xz |
virtio: console: Use wait_event_freezable instead of _interruptible
Get ready to support suspend/resume by using the freezable calls so that
blocking read/write syscalls are handled properly across suspend/resume.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/virtio_console.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c index 5397884b6c02..8f49d0f034e0 100644 --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c @@ -21,6 +21,7 @@ #include <linux/debugfs.h> #include <linux/device.h> #include <linux/err.h> +#include <linux/freezer.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/list.h> @@ -633,8 +634,8 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf, if (filp->f_flags & O_NONBLOCK) return -EAGAIN; - ret = wait_event_interruptible(port->waitqueue, - !will_read_block(port)); + ret = wait_event_freezable(port->waitqueue, + !will_read_block(port)); if (ret < 0) return ret; } @@ -677,8 +678,8 @@ static ssize_t port_fops_write(struct file *filp, const char __user *ubuf, if (nonblock) return -EAGAIN; - ret = wait_event_interruptible(port->waitqueue, - !will_write_block(port)); + ret = wait_event_freezable(port->waitqueue, + !will_write_block(port)); if (ret < 0) return ret; } |