Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05b4877f authored by Srivatsa S. Bhat's avatar Srivatsa S. Bhat Committed by Rafael J. Wysocki
Browse files

PM / Hibernate: Enable usermodehelpers in hibernate() error path



If create_basic_memory_bitmaps() fails, usermodehelpers are not re-enabled
before returning. Fix this. And while at it, reword the goto labels so that
they look more meaningful.

Signed-off-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent 4782e165
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -618,7 +618,7 @@ int hibernate(void)
	/* Allocate memory management structures */
	error = create_basic_memory_bitmaps();
	if (error)
		goto Exit;
		goto Enable_umh;

	printk(KERN_INFO "PM: Syncing filesystems ... ");
	sys_sync();
@@ -626,7 +626,7 @@ int hibernate(void)

	error = freeze_processes();
	if (error)
		goto Finish;
		goto Free_bitmaps;

	error = hibernation_snapshot(hibernation_mode == HIBERNATION_PLATFORM);
	if (error || freezer_test_done)
@@ -659,8 +659,9 @@ int hibernate(void)
	/* Don't bother checking whether freezer_test_done is true */
	freezer_test_done = false;

 Finish:
 Free_bitmaps:
	free_basic_memory_bitmaps();
 Enable_umh:
	usermodehelper_enable();
 Exit:
	pm_notifier_call_chain(PM_POST_HIBERNATION);