]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
dmatest: cancel thread immediately when asked for
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 4 Mar 2013 09:09:25 +0000 (11:09 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 1 Apr 2013 16:42:10 +0000 (22:12 +0530)
If user have the timeout alike issues and wants to cancel the thread
immediately, the current call of wait_event_freezable_timeout is preventing to
this until timeout is expired. Thus, user will experience the unnecessary
delays.

Adding kthread_should_stop() check inside wait_event_freezable_timeout() solves
that.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/dmatest.c

index a2c8904b63ea44fd9154631170c391bd601054d2..e6b4cfa1eb7f92536e39b2bca1a9e0cb6de9c57c 100644 (file)
@@ -454,7 +454,8 @@ static int dmatest_func(void *data)
                }
                dma_async_issue_pending(chan);
 
-               wait_event_freezable_timeout(done_wait, done.done,
+               wait_event_freezable_timeout(done_wait,
+                                            done.done || kthread_should_stop(),
                                             msecs_to_jiffies(timeout));
 
                status = dma_async_is_tx_complete(chan, cookie, NULL, NULL);