diff options
-rw-r--r-- | dma/nwl_engine.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/dma/nwl_engine.c b/dma/nwl_engine.c index fc07ccd..e4c102d 100644 --- a/dma/nwl_engine.c +++ b/dma/nwl_engine.c @@ -299,10 +299,10 @@ int dma_nwl_stream_read(pcilib_dma_context_t *vctx, pcilib_dma_engine_t dma, uin pcilib_kmem_sync_block(ctx->pcilib, info->pages, PCILIB_KMEM_SYNC_FROMDEVICE, bufnum); void *buf = pcilib_kmem_get_block_ua(ctx->pcilib, info->pages, bufnum); ret = cb(cbattr, (eop?PCILIB_DMA_FLAG_EOP:0), bufsize, buf); + if (ret < 0) return -ret; // DS: Fixme, it looks like we can avoid calling this for the sake of performance // pcilib_kmem_sync_block(ctx->pcilib, info->pages, PCILIB_KMEM_SYNC_TODEVICE, bufnum); dma_nwl_return_buffer(ctx, info); - if (ret < 0) return -ret; res += bufsize; |