aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/power
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/power')
-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)
595 unsigned int flags; 595 unsigned int flags;
596 596
597 /* 597 /*
598 * If the user said "noresume".. bail out early.
599 */
600 if (noresume)
601 return 0;
602
603 /*
598 * name_to_dev_t() below takes a sysfs buffer mutex when sysfs 604 * name_to_dev_t() below takes a sysfs buffer mutex when sysfs
599 * is configured into the kernel. Since the regular hibernate 605 * is configured into the kernel. Since the regular hibernate
600 * trigger path is via sysfs which takes a buffer mutex before 606 * trigger path is via sysfs which takes a buffer mutex before
@@ -610,6 +616,11 @@ static int software_resume(void)
610 mutex_unlock(&pm_mutex); 616 mutex_unlock(&pm_mutex);
611 return -ENOENT; 617 return -ENOENT;
612 } 618 }
619 /*
620 * Some device discovery might still be in progress; we need
621 * to wait for this to finish.
622 */
623 wait_for_device_probe();
613 swsusp_resume_device = name_to_dev_t(resume_file); 624 swsusp_resume_device = name_to_dev_t(resume_file);
614 pr_debug("PM: Resume from partition %s\n", resume_file); 625 pr_debug("PM: Resume from partition %s\n", resume_file);
615 } else { 626 } else {