virtio: last minute fixes for 3.4
Here are a couple of last minute virtio fixes for 3.4. Hope it's not too late yes - I might have tried too hard to make sure the fix is well tested. Fixes are by Amit and myself. One fixes module removal and one suspend of a VM, the last one the handling of out of memory condition. They are thus very low risk as most people never hit these paths, but do fix very annoying problems for people that do use the feature. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQEcBAABAgAGBQJPtMReAAoJECgfDbjSjVRp/7sIAIj1C/FaDWpKYydSti2wGO5C oT4JIFbiPUbs+9dkfDQve744ox3f9zW/K1e+xr0QkSpIDT76NFihUr++9PTGpLlw LPxbHXljQ+370gMu9eoF0iewRpY8rca3ZwL+5kb5GA+J+RGcXWbrj/wvu1IFW5Yy cGI8y/dkpEW42rVp1SJ+/yIYidkP2Ko017j/BmfTq0YIU2g8e+cH00uqQhhPaXlH h8PYxpzWBJbh1jmA6Zb0hsVfDpSrZoylCLEOeN0Vs1xF9MXwagAkVcIITdQCsIIh O7xsU+QB9pQd0RcUGXHJh8UNo7O5y55+wiZt/YDt3q8su4tPdPjjybmlBx6CJDE= =/XBC -----END PGP SIGNATURE----- Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost Pull last minute virtio fixes from Michael S. Tsirkin: "Here are a couple of last minute virtio fixes for 3.4. Hope it's not too late yes - I might have tried too hard to make sure the fix is well tested. Fixes are by Amit and myself. One fixes module removal and one suspend of a VM, the last one the handling of out of memory condition. They are thus very low risk as most people never hit these paths, but do fix very annoying problems for people that do use the feature. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: virtio_net: invoke softirqs after __napi_schedule virtio: balloon: let host know of updated balloon size before module removal virtio: console: tell host of open ports after resume from s3/s4
This commit is contained in:
commit
42e8b9c001
|
@ -1895,6 +1895,13 @@ static int virtcons_restore(struct virtio_device *vdev)
|
|||
|
||||
/* Get port open/close status on the host */
|
||||
send_control_msg(port, VIRTIO_CONSOLE_PORT_READY, 1);
|
||||
|
||||
/*
|
||||
* If a port was open at the time of suspending, we
|
||||
* have to let the host know that it's still open.
|
||||
*/
|
||||
if (port->guest_connected)
|
||||
send_control_msg(port, VIRTIO_CONSOLE_PORT_OPEN, 1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -492,7 +492,9 @@ static void virtnet_napi_enable(struct virtnet_info *vi)
|
|||
* We synchronize against interrupts via NAPI_STATE_SCHED */
|
||||
if (napi_schedule_prep(&vi->napi)) {
|
||||
virtqueue_disable_cb(vi->rvq);
|
||||
local_bh_disable();
|
||||
__napi_schedule(&vi->napi);
|
||||
local_bh_enable();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -390,6 +390,7 @@ static void __devexit virtballoon_remove(struct virtio_device *vdev)
|
|||
/* There might be pages left in the balloon: free them. */
|
||||
while (vb->num_pages)
|
||||
leak_balloon(vb, vb->num_pages);
|
||||
update_balloon_size(vb);
|
||||
|
||||
/* Now we reset the device so we can clean up the queues. */
|
||||
vdev->config->reset(vdev);
|
||||
|
|
Loading…
Reference in New Issue