summaryrefslogtreecommitdiff
path: root/src/udev
diff options
context:
space:
mode:
authorUmut Tezduyar <umut@tezduyar.com>2012-11-16 17:07:19 +0100
committerKay Sievers <kay@vrfy.org>2012-11-16 17:07:19 +0100
commit5bb633f13aff7f507ed494a51c7b9e4ca5e4377c (patch)
tree992a7fdc7ee25947009b8f38fd788edaef838ce6 /src/udev
parentf975e76c0b6b93a10ecff1a07c577a10d1cf23cd (diff)
udev: firmware - disable firmware loading when firmware file is 0 byte
If firmware file is not found in the file system, udev terminates firmware loading. This is not the case if firmware file exists in the file system but doesn't have any data in it.
Diffstat (limited to 'src/udev')
-rw-r--r--src/udev/udev-builtin-firmware.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/udev/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c
index 2fb75a7335..4a91d33575 100644
--- a/src/udev/udev-builtin-firmware.c
+++ b/src/udev/udev-builtin-firmware.c
@@ -140,9 +140,12 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
}
if (stat(fwpath, &statbuf) < 0 || statbuf.st_size == 0) {
+ if (!in_initrd())
+ set_loading(udev, loadpath, "-1");
rc = EXIT_FAILURE;
goto exit;
}
+
if (unlink(misspath) == 0)
util_delete_path(udev, misspath);