From: Stefan Hajnoczi <stefa...@redhat.com> Make sure to unmap the scatter-gather list and decrement vq->inuse before freeing requests in virtio_blk_reset().
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Ladi Prosek <lpro...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> --- hw/block/virtio-blk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c index 3a6112f..c7ca4d6 100644 --- a/hw/block/virtio-blk.c +++ b/hw/block/virtio-blk.c @@ -665,6 +665,7 @@ static void virtio_blk_reset(VirtIODevice *vdev) while (s->rq) { req = s->rq; s->rq = req->next; + virtqueue_detach_element(req->vq, &req->elem, 0); virtio_blk_free_request(req); } -- MST