From: Luis R. Rodriguez Date: Mon, 20 Nov 2017 17:45:34 +0000 (-0800) Subject: firmware: fix detecting error on register_reboot_notifier() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=561a10b6a15b531de359ccfc489488c733bb2821;p=openwrt%2Fstaging%2Fblogic.git firmware: fix detecting error on register_reboot_notifier() register_reboot_notifier() can fail, detect this and address this failure. This has been broken since v3.11, however the chances of this failing here is really low. Fixes: fe304143b0c3d ("firmware: Avoid deadlock of usermodehelper lock at shutdown") Signed-off-by: Luis R. Rodriguez Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 3340a17e0499..7ab54f2b032f 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -1860,8 +1860,15 @@ static int __init firmware_class_init(void) if (ret) return ret; - register_reboot_notifier(&fw_shutdown_nb); + ret = register_reboot_notifier(&fw_shutdown_nb); + if (ret) + goto out; + return register_sysfs_loader(); + +out: + unregister_fw_pm_ops(); + return ret; } static void __exit firmware_class_exit(void)