summary refs log tree commit diff
path: root/drivers/mtd/ubi
diff options
context:
space:
mode:
authorVitaliy Gusev <vgusev@openvz.org>2008-11-05 18:27:18 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2008-11-06 11:13:04 +0200
commit2ad49887150894b9ed6a87a76b409adceee6b074 (patch)
tree039adb30a0b50f2aac58a81ee25bcdc39df79a22 /drivers/mtd/ubi
parentb77bcb07897f1a9cd9d1d78691896dcdb0fd1a22 (diff)
downloadlinux-2ad49887150894b9ed6a87a76b409adceee6b074.tar.gz
UBI: Don't exit from ubi_thread until kthread_should_stop() is true
If ubi_thread() exits but kthread_should_stop() is not true
then kthread_stop() will never return and cleanup thread
will forever stay in "D" state.

Signed-off-by: Vitaliy Gusev <vgusev@openvz.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'drivers/mtd/ubi')
-rw-r--r--drivers/mtd/ubi/wl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c
index 05d70937b543..dcb6dac1dc54 100644
--- a/drivers/mtd/ubi/wl.c
+++ b/drivers/mtd/ubi/wl.c
@@ -1396,7 +1396,8 @@ int ubi_thread(void *u)
 				ubi_msg("%s: %d consecutive failures",
 					ubi->bgt_name, WL_MAX_FAILURES);
 				ubi_ro_mode(ubi);
-				break;
+				ubi->thread_enabled = 0;
+				continue;
 			}
 		} else
 			failures = 0;