Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934111Ab0BEXTi (ORCPT ); Fri, 5 Feb 2010 18:19:38 -0500 Received: from mail-bw0-f219.google.com ([209.85.218.219]:45940 "EHLO mail-bw0-f219.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933923Ab0BEXSb (ORCPT ); Fri, 5 Feb 2010 18:18:31 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=eWyxvQM/XYakWsWJYK5q5MrmHlE+aYawpj1oWLOKWdf5ryeYUhDuFNt3+IXeGv4oes 7bznitePjPsvXmWz3IkhiluERRnXBbjq8UbKTt0Okbz7WqUZaI3EwvLct3jydWRW/ghX STR/iQcRpqLdAD26Dt9woo3wUYobyT7P0xsX8= From: Maxim Levitsky To: David Woodhouse Cc: "stanley.miao" , Vitaly Wool , Artem Bityutskiy , linux-mtd , linux-kernel , Maxim Levitsky Subject: [PATCH 3/7] MTD: nand: make suspend work if device is accessed by kernel threads. Date: Sat, 6 Feb 2010 01:18:06 +0200 Message-Id: <1265411890-9156-4-git-send-email-maximlevitsky@gmail.com> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1265411890-9156-1-git-send-email-maximlevitsky@gmail.com> References: <1265411890-9156-1-git-send-email-maximlevitsky@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1156 Lines: 34 Since all userspace threads are frozen at the time the nand_suspend is called, they aren't inside any nand function. We don't call try_to_freeze in nand ether. Thus the only user that can be insize the nand functions is an non freezeable kernel thread. Thus we can safely wait for it to finish. Signed-off-by: Maxim Levitsky --- drivers/mtd/nand/nand_base.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 64b0f10..2ff9c02 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -744,9 +744,6 @@ nand_get_device(struct nand_chip *chip, struct mtd_info *mtd, int new_state) chip->state = FL_PM_SUSPENDED; spin_unlock(lock); return 0; - } else { - spin_unlock(lock); - return -EAGAIN; } } set_current_state(TASK_UNINTERRUPTIBLE); -- 1.6.3.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/