summaryrefslogtreecommitdiffstats
path: root/kernel/power/disk.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-02-21 14:17:26 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2009-02-21 14:17:26 -0800
commitadfafefd104d840ee4461965f22624d77532675b (patch)
tree6c6ba553a2b11703bf5952bd789905ea37c4fc4f /kernel/power/disk.c
parent460c1338fc05add0e8050d4945a46f207b13a5fc (diff)
parent403f307576396f3362fbb65af190885b6036c72c (diff)
downloadlinux-stable-adfafefd104d840ee4461965f22624d77532675b.tar.gz
linux-stable-adfafefd104d840ee4461965f22624d77532675b.tar.bz2
linux-stable-adfafefd104d840ee4461965f22624d77532675b.zip
Merge branch 'hibernate'
* hibernate: PM: Fix suspend_console and resume_console to use only one semaphore PM: Wait for console in resume PM: Fix pm_notifiers during user mode hibernation swsusp: clean up shrink_all_zones() swsusp: dont fiddle with swappiness PM: fix build for CONFIG_PM unset PM/hibernate: fix "swap breaks after hibernation failures" PM/resume: wait for device probing to finish Consolidate driver_probe_done() loops into one place
Diffstat (limited to 'kernel/power/disk.c')
-rw-r--r--kernel/power/disk.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/power/disk.c b/kernel/power/disk.c
index 432ee575c9ee..7b40e94b1d42 100644
--- a/kernel/power/disk.c
+++ b/kernel/power/disk.c
@@ -595,6 +595,12 @@ static int software_resume(void)
unsigned int flags;
/*
+ * If the user said "noresume".. bail out early.
+ */
+ if (noresume)
+ return 0;
+
+ /*
* name_to_dev_t() below takes a sysfs buffer mutex when sysfs
* is configured into the kernel. Since the regular hibernate
* trigger path is via sysfs which takes a buffer mutex before
@@ -610,6 +616,11 @@ static int software_resume(void)
mutex_unlock(&pm_mutex);
return -ENOENT;
}
+ /*
+ * Some device discovery might still be in progress; we need
+ * to wait for this to finish.
+ */
+ wait_for_device_probe();
swsusp_resume_device = name_to_dev_t(resume_file);
pr_debug("PM: Resume from partition %s\n", resume_file);
} else {