chiark / gitweb /
udev: firmware - do not cancel requests in the initrd
authorKay Sievers <kay@vrfy.org>
Thu, 19 Jul 2012 10:32:24 +0000 (12:32 +0200)
committerKay Sievers <kay@vrfy.org>
Thu, 19 Jul 2012 10:33:30 +0000 (12:33 +0200)
src/udev/udev-builtin-firmware.c

index 56dc8fcaa93b3d9dec17b7020434549cbf284e4e..de93d7b34cdbcd46a680521e567c53df1e1d4bbf 100644 (file)
@@ -129,7 +129,13 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
                                 err = -errno;
                 } while (err == -ENOENT);
                 rc = EXIT_FAILURE;
-                set_loading(udev, loadpath, "-1");
+                /*
+                 * Do not cancel the request in the initrd, the real root might have
+                 * the firmware file and the 'coldplug' run in the real root will find
+                 * this pending request and fulfill or cancel it.
+                 * */
+                if (!in_initrd())
+                        set_loading(udev, loadpath, "-1");
                 goto exit;
         }