| 167 | } |
| 168 | |
| 169 | static void |
| 170 | free_mem_region(struct virtio_net *dev) |
| 171 | { |
| 172 | uint32_t i; |
| 173 | struct rte_vhost_mem_region *reg; |
| 174 | |
| 175 | if (!dev || !dev->mem) |
| 176 | return; |
| 177 | |
| 178 | if (dev->async_copy && rte_vfio_is_enabled("vfio")) |
| 179 | async_dma_map(dev, false); |
| 180 | |
| 181 | for (i = 0; i < dev->mem->nregions; i++) { |
| 182 | reg = &dev->mem->regions[i]; |
| 183 | if (reg->host_user_addr) { |
| 184 | munmap(reg->mmap_addr, reg->mmap_size); |
| 185 | close(reg->fd); |
| 186 | } |
| 187 | } |
| 188 | } |
| 189 | |
| 190 | void |
| 191 | vhost_backend_cleanup(struct virtio_net *dev) |
no test coverage detected