summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorheyuanjie <heyuanjie>2018-04-01 17:49:39 +0800
committerheyuanjie <heyuanjie>2018-04-01 17:49:39 +0800
commitaa86f7f7bb78443780a71486a66c2f339243484f (patch)
treec097b136a8e7132e48b8d0f5de3c4204426f551e /bsp
parent38fc71608de27504131a23e1e5dcf33f8e6bb4ce (diff)
修正iis驱动
Diffstat (limited to 'bsp')
-rw-r--r--bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c2
-rw-r--r--bsp/imxrt1052-evk/drivers/drv_codec.c3
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;
}