|
@@ -477,6 +477,8 @@ err_srcs:
|
|
|
pr_notice("%s: terminating after %u tests, %u failures (status %d)\n",
|
|
|
thread_name, total_tests, failed_tests, ret);
|
|
|
|
|
|
+ /* terminate all transfers on specified channels */
|
|
|
+ chan->device->device_control(chan, DMA_TERMINATE_ALL, 0);
|
|
|
if (iterations > 0)
|
|
|
while (!kthread_should_stop()) {
|
|
|
DECLARE_WAIT_QUEUE_HEAD_ONSTACK(wait_dmatest_exit);
|
|
@@ -499,6 +501,10 @@ static void dmatest_cleanup_channel(struct dmatest_chan *dtc)
|
|
|
list_del(&thread->node);
|
|
|
kfree(thread);
|
|
|
}
|
|
|
+
|
|
|
+ /* terminate all transfers on specified channels */
|
|
|
+ dtc->chan->device->device_control(dtc->chan, DMA_TERMINATE_ALL, 0);
|
|
|
+
|
|
|
kfree(dtc);
|
|
|
}
|
|
|
|