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