summary refs log tree commit diff
path: root/kernel/power
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2005-07-07 17:56:43 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-07 18:23:43 -0700
commit3efa147ad7608196639882ba4075b376f306fe16 (patch)
treeedc1176c8af4ce97c3586382ebb7de68936f1bec /kernel/power
parente00d9967e3addea86dded46deefc5daec5d52e5a (diff)
downloadlinux-3efa147ad7608196639882ba4075b376f306fe16.tar.gz
[PATCH] pm: Fix resume from initrd
Move device name resolution code around so that it is not called from
resume-from-initrd.  name_to_dev_t may be unavailable at that point.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/power')
-rw-r--r--kernel/power/disk.c10
-rw-r--r--kernel/power/swsusp.c10
2 files changed, 10 insertions, 10 deletions
diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index fb8de63c2919..c51a4d96d4eb 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -234,6 +234,16 @@ static int software_resume(void)
 {
 	int error;
 
+	if (!swsusp_resume_device) {
+		if (!strlen(resume_file))
+			return -ENOENT;
+		swsusp_resume_device = name_to_dev_t(resume_file);
+		pr_debug("swsusp: Resume From Partition %s\n", resume_file);
+	} else {
+		pr_debug("swsusp: Resume From Partition %d:%d\n",
+			 MAJOR(swsusp_resume_device), MINOR(swsusp_resume_device));
+	}
+
 	if (noresume) {
 		/**
 		 * FIXME: If noresume is specified, we need to find the partition
diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c
index c285fc5a2320..d82c1f7d0a60 100644
--- a/kernel/power/swsusp.c
+++ b/kernel/power/swsusp.c
@@ -1356,16 +1356,6 @@ int swsusp_check(void)
 {
 	int error;
 
-	if (!swsusp_resume_device) {
-		if (!strlen(resume_file))
-			return -ENOENT;
-		swsusp_resume_device = name_to_dev_t(resume_file);
-		pr_debug("swsusp: Resume From Partition %s\n", resume_file);
-	} else {
-		pr_debug("swsusp: Resume From Partition %d:%d\n",
-			 MAJOR(swsusp_resume_device), MINOR(swsusp_resume_device));
-	}
-
 	resume_bdev = open_by_devnum(swsusp_resume_device, FMODE_READ);
 	if (!IS_ERR(resume_bdev)) {
 		set_blocksize(resume_bdev, PAGE_SIZE);