]> git.baikalelectronics.ru Git - kernel.git/commit
PM / hibernate: Fix restore hang in freeze_processes()
authorSebastian Capella <sebastian.capella@linaro.org>
Wed, 19 Feb 2014 01:52:08 +0000 (17:52 -0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 26 Feb 2014 00:13:15 +0000 (01:13 +0100)
commit62e37ba86d2068cf5ad01df87d1cb8dbf85c76a8
tree7ad881c6ca24b6cac29cb2321ecea6b3edba21f2
parentc12b88ed84c80e42e377bda8d1cbf68924238ae1
PM / hibernate: Fix restore hang in freeze_processes()

During restore, pm_notifier chain are called with
PM_RESTORE_PREPARE.  The firmware_class driver handler
fw_pm_notify does not have a handler for this.  As a result,
it keeps a reader on the kmod.c umhelper_sem.  During
freeze_processes, the call to __usermodehelper_disable tries to
take a write lock on this semaphore and hangs waiting.

Signed-off-by: Sebastian Capella <sebastian.capella@linaro.org>
Acked-by: Ming Lei <ming.lei@canonical.com>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/firmware_class.c