From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rafael J. Wysocki" Subject: [PATCH 2/2] Freezer: Fix JFFS2 garbage collector freezing issue Date: Mon, 3 Dec 2007 18:03:20 +0100 Message-ID: <200712031803.21260.rjw@sisk.pl> References: <1196624925-17220-1-git-send-email-lenb@kernel.org> <200712031755.44441.rjw@sisk.pl> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Return-path: Received: from ogre.sisk.pl ([217.79.144.158]:42454 "EHLO ogre.sisk.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750967AbXLCQpu (ORCPT ); Mon, 3 Dec 2007 11:45:50 -0500 In-Reply-To: <200712031755.44441.rjw@sisk.pl> Content-Disposition: inline Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Len Brown Cc: linux-acpi@vger.kernel.org, pm list , Pete MacKay , Andrew Morton From: Rafael J. Wysocki Fix breakage caused by commit d5d8c5976d6adeddb8208c240460411e2198b393 "freezer: do not send signals to kernel threads" in jffs2_garbage_collect_thread() that assumed it would be sent signals by the freezer. Signed-off-by: Rafael J. Wysocki Cc: Pete MacKay Cc: Andrew Morton --- fs/jffs2/background.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Index: linux-2.6/fs/jffs2/background.c =================================================================== --- linux-2.6.orig/fs/jffs2/background.c +++ linux-2.6/fs/jffs2/background.c @@ -103,15 +103,17 @@ static int jffs2_garbage_collect_thread( get there first. */ yield(); + /* If system suspend is in progress, go to the refrigerator and + start again when the suspend is done */ + if (try_to_freeze()) + goto again; + /* Put_super will send a SIGKILL and then wait on the sem. */ while (signal_pending(current)) { siginfo_t info; unsigned long signr; - if (try_to_freeze()) - goto again; - signr = dequeue_signal_lock(current, ¤t->blocked, &info); switch(signr) {