diff options
Diffstat (limited to 'drivers/virtio/virtio_ring.c')
-rw-r--r-- | drivers/virtio/virtio_ring.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 114a0c88afb8..e383ecdaca59 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c | |||
@@ -327,6 +327,8 @@ static inline int virtqueue_add(struct virtqueue *_vq, | |||
327 | * host should service the ring ASAP. */ | 327 | * host should service the ring ASAP. */ |
328 | if (out_sgs) | 328 | if (out_sgs) |
329 | vq->notify(&vq->vq); | 329 | vq->notify(&vq->vq); |
330 | if (indirect) | ||
331 | kfree(desc); | ||
330 | END_USE(vq); | 332 | END_USE(vq); |
331 | return -ENOSPC; | 333 | return -ENOSPC; |
332 | } | 334 | } |
@@ -426,6 +428,7 @@ unmap_release: | |||
426 | if (indirect) | 428 | if (indirect) |
427 | kfree(desc); | 429 | kfree(desc); |
428 | 430 | ||
431 | END_USE(vq); | ||
429 | return -EIO; | 432 | return -EIO; |
430 | } | 433 | } |
431 | 434 | ||