diff options
-rw-r--r-- | drivers/char/virtio_console.c | 7 | ||||
-rw-r--r-- | drivers/net/virtio_net.c | 2 | ||||
-rw-r--r-- | drivers/virtio/virtio_balloon.c | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c index ddf86b6500b7..cdf2f5451c76 100644 --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c | |||
@@ -1895,6 +1895,13 @@ static int virtcons_restore(struct virtio_device *vdev) | |||
1895 | 1895 | ||
1896 | /* Get port open/close status on the host */ | 1896 | /* Get port open/close status on the host */ |
1897 | send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 1); | 1897 | send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 1); |
1898 | |||
1899 | /* | ||
1900 | * If a port was open at the time of suspending, we | ||
1901 | * have to let the host know that it's still open. | ||
1902 | */ | ||
1903 | if (port->guest_connected) | ||
1904 | send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1); | ||
1898 | } | 1905 | } |
1899 | return 0; | 1906 | return 0; |
1900 | } | 1907 | } |
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index af8acc85f4bb..cbefe671bcc6 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c | |||
@@ -492,7 +492,9 @@ static void virtnet_napi_enable(struct virtnet_info *vi) | |||
492 | * We synchronize against interrupts via NAPI_STATE_SCHED */ | 492 | * We synchronize against interrupts via NAPI_STATE_SCHED */ |
493 | if (napi_schedule_prep(&vi->napi)) { | 493 | if (napi_schedule_prep(&vi->napi)) { |
494 | virtqueue_disable_cb(vi->rvq); | 494 | virtqueue_disable_cb(vi->rvq); |
495 | local_bh_disable(); | ||
495 | __napi_schedule(&vi->napi); | 496 | __napi_schedule(&vi->napi); |
497 | local_bh_enable(); | ||
496 | } | 498 | } |
497 | } | 499 | } |
498 | 500 | ||
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index c2d05a8279fd..8807fe501d20 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c | |||
@@ -390,6 +390,7 @@ static void __devexit virtballoon_remove(struct virtio_device *vdev) | |||
390 | /* There might be pages left in the balloon: free them. */ | 390 | /* There might be pages left in the balloon: free them. */ |
391 | while (vb->num_pages) | 391 | while (vb->num_pages) |
392 | leak_balloon(vb, vb->num_pages); | 392 | leak_balloon(vb, vb->num_pages); |
393 | update_balloon_size(vb); | ||
393 | 394 | ||
394 | /* Now we reset the device so we can clean up the queues. */ | 395 | /* Now we reset the device so we can clean up the queues. */ |
395 | vdev->config->reset(vdev); | 396 | vdev->config->reset(vdev); |