diff options
Diffstat (limited to 'pcilib/dma.c')
-rw-r--r-- | pcilib/dma.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pcilib/dma.c b/pcilib/dma.c index be02c21..6191047 100644 --- a/pcilib/dma.c +++ b/pcilib/dma.c @@ -17,6 +17,8 @@ #include "pcilib.h" #include "pci.h" #include "dma.h" +#include "tools.h" +#include "pagecpy.h" const pcilib_dma_description_t *pcilib_get_dma_description(pcilib_t *ctx) { int err; @@ -194,8 +196,8 @@ static int pcilib_dma_read_callback(void *arg, pcilib_dma_flags_t flags, size_t pcilib_error("Buffer size (%li) is not large enough for DMA packet, at least %li bytes is required", ctx->size, ctx->pos + bufsize); return -PCILIB_ERROR_TOOBIG; } - - memcpy(ctx->data + ctx->pos, buf, bufsize); + + pcilib_pagecpy(ctx->data + ctx->pos, buf, bufsize); ctx->pos += bufsize; if (flags & PCILIB_DMA_FLAG_EOP) { |