diff options
| -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 @@ | |||
| 21 | #include <linux/debugfs.h> | 21 | #include <linux/debugfs.h> |
| 22 | #include <linux/device.h> | 22 | #include <linux/device.h> |
| 23 | #include <linux/err.h> | 23 | #include <linux/err.h> |
| 24 | #include <linux/freezer.h> | ||
| 24 | #include <linux/fs.h> | 25 | #include <linux/fs.h> |
| 25 | #include <linux/init.h> | 26 | #include <linux/init.h> |
| 26 | #include <linux/list.h> | 27 | #include <linux/list.h> |
| @@ -633,8 +634,8 @@ static ssize_t port_fops_read(struct file *filp, char __user *ubuf, | |||
| 633 | if (filp->f_flags & O_NONBLOCK) | 634 | if (filp->f_flags & O_NONBLOCK) |
| 634 | return -EAGAIN; | 635 | return -EAGAIN; |
| 635 | 636 | ||
| 636 | ret = wait_event_interruptible(port->waitqueue, | 637 | ret = wait_event_freezable(port->waitqueue, |
| 637 | !will_read_block(port)); | 638 | !will_read_block(port)); |
| 638 | if (ret < 0) | 639 | if (ret < 0) |
| 639 | return ret; | 640 | return ret; |
| 640 | } | 641 | } |
| @@ -677,8 +678,8 @@ static ssize_t port_fops_write(struct file *filp, const char __user *ubuf, | |||
| 677 | if (nonblock) | 678 | if (nonblock) |
| 678 | return -EAGAIN; | 679 | return -EAGAIN; |
| 679 | 680 | ||
| 680 | ret = wait_event_interruptible(port->waitqueue, | 681 | ret = wait_event_freezable(port->waitqueue, |
| 681 | !will_write_block(port)); | 682 | !will_write_block(port)); |
| 682 | if (ret < 0) | 683 | if (ret < 0) |
| 683 | return ret; | 684 | return ret; |
| 684 | } | 685 | } |
