mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
firmware_class: Do not warn that system is not ready from async loads
If firmware is requested asynchronously, by calling request_firmware_nowait(), there is no reason to fail the request (and warn the user) when the system is (presumably temporarily) unready to handle it (because user space is not available yet or frozen). For this reason, introduce an alternative routine for read-locking umhelper_sem, usermodehelper_read_lock_wait(), that will wait for usermodehelper_disabled to be unset (possibly with a timeout) and make request_firmware_work_func() use it instead of usermodehelper_read_trylock(). Accordingly, modify request_firmware() so that it uses usermodehelper_read_trylock() to acquire umhelper_sem and remove the code related to that lock from _request_firmware(). Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: stable@vger.kernel.org
This commit is contained in:
parent
811fa40044
commit
9b78c1da60
3 changed files with 76 additions and 34 deletions
|
@ -115,6 +115,7 @@ extern void usermodehelper_init(void);
|
|||
extern int usermodehelper_disable(void);
|
||||
extern void usermodehelper_enable(void);
|
||||
extern int usermodehelper_read_trylock(void);
|
||||
extern long usermodehelper_read_lock_wait(long timeout);
|
||||
extern void usermodehelper_read_unlock(void);
|
||||
|
||||
#endif /* __LINUX_KMOD_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue