summaryrefslogtreecommitdiffstats
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)
[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 fb8de63c291..c51a4d96d4e 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 c285fc5a232..d82c1f7d0a6 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);