Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/vmbus/hyperv_busdma.c
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | error = bus_dmamap_load(dma->hv_dtag, dma->hv_dmap, ret, size, | ||||
hyperv_dma_map_paddr, &dma->hv_paddr, BUS_DMA_NOWAIT); | hyperv_dma_map_paddr, &dma->hv_paddr, BUS_DMA_NOWAIT); | ||||
if (error) { | if (error) { | ||||
bus_dmamem_free(dma->hv_dtag, ret, dma->hv_dmap); | bus_dmamem_free(dma->hv_dtag, ret, dma->hv_dmap); | ||||
bus_dma_tag_destroy(dma->hv_dtag); | bus_dma_tag_destroy(dma->hv_dtag); | ||||
return NULL; | return NULL; | ||||
} | } | ||||
return ret; | return ret; | ||||
} | } | ||||
void | |||||
hyperv_dmamem_free(struct hyperv_dma *dma, void *ptr) | |||||
{ | |||||
bus_dmamap_unload(dma->hv_dtag, dma->hv_dmap); | |||||
bus_dmamem_free(dma->hv_dtag, ptr, dma->hv_dmap); | |||||
bus_dma_tag_destroy(dma->hv_dtag); | |||||
} |