Merge branches 'fixes' and 'fixes2' into devel-late
[cascardo/linux.git] / kernel / power / hibernate.c
index e09dfbf..8b53db3 100644 (file)
@@ -25,6 +25,8 @@
 #include <linux/freezer.h>
 #include <linux/gfp.h>
 #include <linux/syscore_ops.h>
+#include <linux/ctype.h>
+#include <linux/genhd.h>
 #include <scsi/scsi_scan.h>
 
 #include "power.h"
@@ -722,6 +724,17 @@ static int software_resume(void)
 
        /* Check if the device is there */
        swsusp_resume_device = name_to_dev_t(resume_file);
+
+       /*
+        * name_to_dev_t is ineffective to verify parition if resume_file is in
+        * integer format. (e.g. major:minor)
+        */
+       if (isdigit(resume_file[0]) && resume_wait) {
+               int partno;
+               while (!get_gendisk(swsusp_resume_device, &partno))
+                       msleep(10);
+       }
+
        if (!swsusp_resume_device) {
                /*
                 * Some device discovery might still be in progress; we need