summaryrefslogtreecommitdiff
path: root/src/udev/udev-builtin-firmware.c
diff options
context:
space:
mode:
authorKay Sievers <kay@vrfy.org>2012-07-19 12:32:24 +0200
committerKay Sievers <kay@vrfy.org>2012-07-19 12:33:30 +0200
commit39177382a4f92a834b568d6ae5d750eb2a5a86f9 (patch)
tree3050cba34774eaa765b84e5f007ebd1d2bb28ba4 /src/udev/udev-builtin-firmware.c
parentc2f1db8f83618e60dcded8303d14656d7d26b436 (diff)
udev: firmware - do not cancel requests in the initrd
Diffstat (limited to 'src/udev/udev-builtin-firmware.c')
-rw-r--r--src/udev/udev-builtin-firmware.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c
index 56dc8fcaa9..de93d7b34c 100644
--- a/src/udev/udev-builtin-firmware.c
+++ b/src/udev/udev-builtin-firmware.c
@@ -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;
}