From d2aa3ce7bf80898e2a2d6b19dc6eff7a7f6ec6eb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 20 May 2005 22:37:15 +0100 Subject: [PATCH] --- yaml --- r: 4556 b: refs/heads/master c: e2d48b1a98bb5da8d6998ca4db0b20fa46938a11 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/jffs2/background.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f257496fe259..2c3a89b52556 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fb4a90bfcd6d86e8531073c42fae7fde40974f5d +refs/heads/master: e2d48b1a98bb5da8d6998ca4db0b20fa46938a11 diff --git a/trunk/fs/jffs2/background.c b/trunk/fs/jffs2/background.c index 5548749bacb6..65119d72cce0 100644 --- a/trunk/fs/jffs2/background.c +++ b/trunk/fs/jffs2/background.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: background.c,v 1.52 2005/05/19 16:18:08 gleixner Exp $ + * $Id: background.c,v 1.54 2005/05/20 21:37:12 gleixner Exp $ * */ @@ -56,13 +56,16 @@ int jffs2_start_garbage_collect_thread(struct jffs2_sb_info *c) void jffs2_stop_garbage_collect_thread(struct jffs2_sb_info *c) { + int wait = 0; spin_lock(&c->erase_completion_lock); if (c->gc_task) { D1(printk(KERN_DEBUG "jffs2: Killing GC task %d\n", c->gc_task->pid)); send_sig(SIGKILL, c->gc_task, 1); + wait = 1; } spin_unlock(&c->erase_completion_lock); - wait_for_completion(&c->gc_thread_exit); + if (wait) + wait_for_completion(&c->gc_thread_exit); } static int jffs2_garbage_collect_thread(void *_c)