diff options
Diffstat (limited to 'dma/nwl.c')
-rw-r--r-- | dma/nwl.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -16,6 +16,7 @@ #include "nwl_defines.h" int dma_nwl_start(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, pcilib_dma_flags_t flags) { + int err; nwl_dma_t *ctx = (nwl_dma_t*)vctx; if (!ctx->started) { @@ -26,8 +27,11 @@ int dma_nwl_start(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, pcilib_dm if (dma == PCILIB_DMA_ENGINE_INVALID) return 0; else if (dma > ctx->n_engines) return PCILIB_ERROR_INVALID_BANK; + err = dma_nwl_start_engine(ctx, dma); + if (flags&PCILIB_DMA_FLAG_PERSISTENT) ctx->engines[dma].preserve = 1; - return dma_nwl_start_engine(ctx, dma); + + return err; } int dma_nwl_stop(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, pcilib_dma_flags_t flags) { |