summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2011-07-19 13:19:18 +0300
committerMichael S. Tsirkin <mst@redhat.com>2011-07-19 13:28:34 +0300
commit75fd9edc1054a1fa1d1411adec368dadf68e764e (patch)
treed1a54e4bfb7a3d000c2a70465e54dc155bb6b475 /drivers
parent2723feaa8ec64f677f644c9189ed87d83f5559c1 (diff)
downloadlinux-3.10-75fd9edc1054a1fa1d1411adec368dadf68e764e.tar.gz
linux-3.10-75fd9edc1054a1fa1d1411adec368dadf68e764e.tar.bz2
linux-3.10-75fd9edc1054a1fa1d1411adec368dadf68e764e.zip
vhost: fix zcopy reference counting
Fix get/put refcount imbalance with zero copy, which caused qemu to hang forever on guest driver unload. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/vhost/vhost.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 46822c0d9f7..c16d2254586 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -1578,7 +1578,6 @@ struct vhost_ubuf_ref *vhost_ubuf_alloc(struct vhost_virtqueue *vq,
if (!ubufs)
return ERR_PTR(-ENOMEM);
kref_init(&ubufs->kref);
- kref_get(&ubufs->kref);
init_waitqueue_head(&ubufs->wait);
ubufs->vq = vq;
return ubufs;