[PATCH] dmaengine: ti: k3-udma: Avoid false error msg on chan teardown

Vignesh Raghavendra vigneshr at ti.com
Mon Feb 14 20:41:12 PST 2022


In cyclic mode, there is no additional descriptor pushed to collect
outstanding data on channel teardown. Therefore no need to wait for this
descriptor to come back.

Without this terminating aplay cmd outputs false error msg like:
[  116.402800] ti-bcdma 485c0100.dma-controller: chan1 teardown timeout!

Signed-off-by: Vignesh Raghavendra <vigneshr at ti.com>
---
 drivers/dma/ti/k3-udma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/ti/k3-udma.c b/drivers/dma/ti/k3-udma.c
index 9abb08d353ca0..c9a1b2f312603 100644
--- a/drivers/dma/ti/k3-udma.c
+++ b/drivers/dma/ti/k3-udma.c
@@ -3924,7 +3924,7 @@ static void udma_synchronize(struct dma_chan *chan)
 
 	vchan_synchronize(&uc->vc);
 
-	if (uc->state == UDMA_CHAN_IS_TERMINATING) {
+	if (uc->state == UDMA_CHAN_IS_TERMINATING && !uc->cyclic) {
 		timeout = wait_for_completion_timeout(&uc->teardown_completed,
 						      timeout);
 		if (!timeout) {
-- 
2.35.1




More information about the linux-arm-kernel mailing list