The systemd commit below can delay firmware loading by multiple
minutes if CONFIG_FW_LOADER_USER_HELPER=y.  Unfortunately no one
noticed that the systemd-udev change would break new kernels as well
as old kernels.

Since the kernel apparently can't count on reasonable userspace
support, turn this thing off by default.

commit a3bd8447be4ea2ce230eb8ae0e815c04d85fa15a
Author: Tom Gundersen <t...@jklm.no>
Date:   Mon Mar 18 15:12:18 2013 +0100

    udev: make firmware loading optional and disable by default

    Distros that whish to support old kernels should set
      --with-firmware-dirs="/usr/lib/firmware/updates:/usr/lib/firmware"
    to retain the old behaviour.
---
 drivers/base/Kconfig     | 15 +++++++++++----
 drivers/firmware/Kconfig |  1 -
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index 5daa259..de3903e 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -146,13 +146,20 @@ config EXTRA_FIRMWARE_DIR
 config FW_LOADER_USER_HELPER
        bool "Fallback user-helper invocation for firmware loading"
        depends on FW_LOADER
-       default y
+       default n
        help
          This option enables / disables the invocation of user-helper
          (e.g. udev) for loading firmware files as a fallback after the
-         direct file loading in kernel fails.  The user-mode helper is
-         no longer required unless you have a special firmware file that
-         resides in a non-standard path.
+         direct file loading in kernel fails.
+
+         Since March 2013, a default udev build does not understand
+         firmware loading requests.  These udev versions will not
+         even indicate failure; instead they cause long timeouts.
+         This can dramatically slow down the boot process.
+
+         Say Y only if you have special firmware-loading requirements
+         and if you have a non-standard helper that will handle these
+         requests.
 
 config DEBUG_DRIVER
        bool "Driver Core verbose debug messages"
diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
index 07478728..9387630 100644
--- a/drivers/firmware/Kconfig
+++ b/drivers/firmware/Kconfig
@@ -64,7 +64,6 @@ config DELL_RBU
        tristate "BIOS update support for DELL systems via sysfs"
        depends on X86
        select FW_LOADER
-       select FW_LOADER_USER_HELPER
        help
         Say m if you want to have the option of updating the BIOS for your
         DELL system. Note you need a Dell OpenManage or Dell Update package 
(DUP)
-- 
1.8.3.1

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to