From aa86f7f7bb78443780a71486a66c2f339243484f Mon Sep 17 00:00:00 2001 From: heyuanjie Date: Sun, 1 Apr 2018 17:49:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3iis=E9=A9=B1=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c | 2 +- bsp/imxrt1052-evk/drivers/drv_codec.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c b/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c index 216b6e3fab..f895e0de78 100644 --- a/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c +++ b/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c @@ -99,7 +99,7 @@ static void SAI_TxEDMACallback(edma_handle_t *handle, void *userData, bool done, saiHandle->queueDriver = (saiHandle->queueDriver + 1) % SAI_XFER_QUEUE_SIZE; /* If all data finished, just stop the transfer */ - if (saiHandle->saiQueue[saiHandle->queueDriver].data == NULL) + if (saiHandle->saiQueue[saiHandle->queueDriver].dataSize == 0) { /* Disable DMA enable bit */ SAI_TxEnableDMA(privHandle->base, kSAI_FIFORequestDMAEnable, false); diff --git a/bsp/imxrt1052-evk/drivers/drv_codec.c b/bsp/imxrt1052-evk/drivers/drv_codec.c index eb219ec0ac..24180adfa6 100644 --- a/bsp/imxrt1052-evk/drivers/drv_codec.c +++ b/bsp/imxrt1052-evk/drivers/drv_codec.c @@ -347,7 +347,8 @@ static rt_size_t icodec_transmit(struct rt_audio_device *audio, const void *writ xfer.data = (uint8_t *)writeBuf; xfer.dataSize = size; - SAI_TransferSendEDMA(icodec->sai, &icodec->txHandle, &xfer); + if (SAI_TransferSendEDMA(icodec->sai, &icodec->txHandle, &xfer) != kStatus_Success) + return 0; return size; }