diff --git a/src/ipc/dma-copy.c b/src/ipc/dma-copy.c index ac2ecc345..f7caec41c 100644 --- a/src/ipc/dma-copy.c +++ b/src/ipc/dma-copy.c @@ -78,7 +78,6 @@ int dma_copy_to_host_nowait(struct dma_copy *dc, struct dma_sg_config *host_sg, int dma_copy_to_host_nowait(struct dma_copy *dc, struct dma_sg_config *host_sg, int32_t host_offset, void *local_ptr, int32_t size) { - struct dma_trace_data *dmat = dma_trace_data_get(); struct dma_sg_config config; struct dma_sg_elem *host_sg_elem; struct dma_sg_elem local_sg_elem; @@ -122,8 +121,6 @@ int dma_copy_to_host_nowait(struct dma_copy *dc, struct dma_sg_config *host_sg, if (err < 0) return err; - ipc_msg_send(dmat->msg, &dmat->posn, false); - /* bytes copied */ return local_sg_elem.size; } diff --git a/src/trace/dma-trace.c b/src/trace/dma-trace.c index d113443f2..e757c1a94 100644 --- a/src/trace/dma-trace.c +++ b/src/trace/dma-trace.c @@ -100,6 +100,8 @@ static enum task_state trace_work(void *data) if (buffer->r_ptr >= buffer->end_addr) buffer->r_ptr = (char *)buffer->r_ptr - DMA_TRACE_LOCAL_SIZE; + ipc_msg_send(d->msg, &d->posn, false); + out: spin_lock_irq(&d->lock, flags);