PM: Print a warning if firmware is requested when tasks are frozen
commita144c6a6c924aa1da04dd77fb84b89927354fdff
authorRafael J. Wysocki <rjw@sisk.pl>
Fri, 6 May 2011 18:09:42 +0000 (6 20:09 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 17 May 2011 21:19:17 +0000 (17 23:19 +0200)
tree10cab9080a722a191086f58b9f304329e8a8b942
parente1866b33b1e89f077b7132daae3dfd9a594e9a1a
PM: Print a warning if firmware is requested when tasks are frozen

Some drivers erroneously use request_firmware() from their ->resume()
(or ->thaw(), or ->restore()) callbacks, which is not going to work
unless the firmware has been built in.  This causes system resume to
stall until the firmware-loading timeout expires, which makes users
think that the resume has failed and reboot their machines
unnecessarily.  For this reason, make _request_firmware() print a
warning and return immediately with error code if it has been called
when tasks are frozen and it's impossible to start any new usermode
helpers.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Reviewed-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
drivers/base/firmware_class.c
include/linux/kmod.h
kernel/kmod.c