aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2005-05-25 07:25:12 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2005-05-25 07:25:12 +0000
commit6fbeb2e223c505e908cb5e6d822e604f7688d4fe (patch)
tree4b05b9e3169820bc2542e5feb5e89700b41f69ed
parent5b45c9f2a169c25f094e064f2ea015c2449bb796 (diff)
Notes
-rw-r--r--sys/alpha/alpha/busdma_machdep.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/alpha/alpha/busdma_machdep.c b/sys/alpha/alpha/busdma_machdep.c
index f2aa85994bbb..ee2ee410fd7d 100644
--- a/sys/alpha/alpha/busdma_machdep.c
+++ b/sys/alpha/alpha/busdma_machdep.c
@@ -479,6 +479,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
bus_size_t buflen, bus_dmamap_callback_t *callback,
void *callback_arg, int flags)
{
+ bus_dma_segment_t segment;
vm_offset_t vaddr;
vm_offset_t paddr;
bus_dma_segment_t *sg;
@@ -495,6 +496,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
* of the bus address space.
*/
vaddr = trunc_page((vm_offset_t) buf);
+ dmat->segments = &segment;
dmat->segments[0].ds_addr =
map->busaddress + (vm_offset_t) buf - vaddr;
dmat->segments[0].ds_len = buflen;
@@ -505,6 +507,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
buflen);
map->buflen = buflen;
(*callback)(callback_arg, dmat->segments, 1, error);
+ dmat->segments = NULL;
return (0);
}