| 388 | } |
| 389 | |
| 390 | static void |
| 391 | vhost_free_async_mem(struct vhost_virtqueue *vq) |
| 392 | __rte_exclusive_locks_required(&vq->access_lock) |
| 393 | { |
| 394 | if (!vq->async) |
| 395 | return; |
| 396 | |
| 397 | rte_free(vq->async->pkts_info); |
| 398 | rte_free(vq->async->pkts_cmpl_flag); |
| 399 | |
| 400 | rte_free(vq->async->buffers_packed); |
| 401 | vq->async->buffers_packed = NULL; |
| 402 | rte_free(vq->async->descs_split); |
| 403 | vq->async->descs_split = NULL; |
| 404 | |
| 405 | rte_free(vq->async); |
| 406 | vq->async = NULL; |
| 407 | } |
| 408 | |
| 409 | void |
| 410 | free_vq(struct virtio_net *dev, struct vhost_virtqueue *vq) |
no test coverage detected