diff options
-rw-r--r-- | src/udev/udevd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 0a3ab687fd..834c7d9778 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -98,7 +98,9 @@ struct event { dev_t devnum; int ifindex; bool is_block; +#ifdef ENABLE_FIRMWARE bool nodelay; +#endif }; static inline struct event *node_to_event(struct udev_list_node *node) @@ -442,8 +444,10 @@ static int event_queue_insert(struct udev_device *dev) event->devnum = udev_device_get_devnum(dev); event->is_block = streq("block", udev_device_get_subsystem(dev)); event->ifindex = udev_device_get_ifindex(dev); +#ifdef ENABLE_FIRMWARE if (streq(udev_device_get_subsystem(dev), "firmware")) event->nodelay = true; +#endif udev_queue_export_device_queued(udev_queue_export, dev); log_debug("seq %llu queued, '%s' '%s'\n", udev_device_get_seqnum(dev), @@ -523,9 +527,11 @@ static bool is_devpath_busy(struct event *event) return true; } +#ifdef ENABLE_FIRMWARE /* allow to bypass the dependency tracking */ if (event->nodelay) continue; +#endif /* parent device event found */ if (event->devpath[common] == '/') { |