From 64e0f2948b71d37e8cdb99693a00b3f440565953 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 19 Oct 2011 12:09:54 +0200 Subject: Fix bug causing failures of NWL engine to inherit kernel buffers --- dma/nwl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'dma/nwl.c') diff --git a/dma/nwl.c b/dma/nwl.c index 0a41703..7d2c964 100644 --- a/dma/nwl.c +++ b/dma/nwl.c @@ -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) { -- cgit v1.2.3