From: Xiubo Li Date: Thu, 15 Jun 2017 07:05:31 +0000 (+0800) Subject: tcmu: Fix module removal due to stuck unmap_thread thread again X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=07932a023af3cd728390ffdaeffb78e357123181;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git tcmu: Fix module removal due to stuck unmap_thread thread again Because the unmap code just after the schdule() returned may take a long time and if the kthread_stop() is fired just when in this routine, the module removal maybe stuck too. Signed-off-by: Xiubo Li Reviewed-by: Mike Christie Signed-off-by: Nicholas Bellinger --- diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c index afc1fd6bacaf..a60a66d61146 100644 --- a/drivers/target/target_core_user.c +++ b/drivers/target/target_core_user.c @@ -1707,7 +1707,7 @@ static int unmap_thread_fn(void *data) struct page *page; int i; - while (1) { + while (!kthread_should_stop()) { DEFINE_WAIT(__wait); prepare_to_wait(&unmap_wait, &__wait, TASK_INTERRUPTIBLE);