Do not forget to put the disk back.

Signed-off-by: Roman Pen <roman.peny...@profitbricks.com>
Cc: Gi-Oh Kim <gi-oh....@profitbricks.com>
Cc: "Rafael J. Wysocki" <r...@rjwysocki.net>
Cc: Len Brown <len.br...@intel.com>
Cc: Pavel Machek <pa...@ucw.cz>
Cc: linux...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 kernel/power/hibernate.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index b7342a2..1f53dc2 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -785,8 +785,11 @@ static int software_resume(void)
         */
        if (isdigit(resume_file[0]) && resume_wait) {
                int partno;
-               while (!get_gendisk(swsusp_resume_device, &partno))
+               struct gendisk *disk;
+
+               while (!(disk = get_gendisk(swsusp_resume_device, &partno)))
                        msleep(10);
+               put_gendisk(disk);
        }
 
        if (!swsusp_resume_device) {
-- 
2.6.2

Reply via email to