diff --git a/drivers/dma/dmatest.c b/drivers/dma/dmatest.c index 99a75e5d66be4a5a0bfe12f8a9b51a51fe9805e1..a2c8904b63ea44fd9154631170c391bd601054d2 100644 --- a/drivers/dma/dmatest.c +++ b/drivers/dma/dmatest.c @@ -536,7 +536,9 @@ static int dmatest_func(void *data) thread_name, total_tests, failed_tests, ret); /* terminate all transfers on specified channels */ - dmaengine_terminate_all(chan); + if (ret) + dmaengine_terminate_all(chan); + if (iterations > 0) while (!kthread_should_stop()) { DECLARE_WAIT_QUEUE_HEAD_ONSTACK(wait_dmatest_exit);