mirror of
https://github.com/systemd/systemd.git
synced 2025-03-24 14:50:17 +03:00
libudev: return kernel provided devnode when asked before we handled any rules
This commit is contained in:
parent
a74beafdcc
commit
cdb1d7608a
@ -35,7 +35,7 @@ DISTCHECK_HOOKS =
|
||||
# libudev
|
||||
# ------------------------------------------------------------------------------
|
||||
LIBUDEV_CURRENT=9
|
||||
LIBUDEV_REVISION=2
|
||||
LIBUDEV_REVISION=3
|
||||
LIBUDEV_AGE=9
|
||||
|
||||
SUBDIRS += libudev/docs
|
||||
|
@ -876,8 +876,19 @@ const char *udev_device_get_devnode(struct udev_device *udev_device)
|
||||
{
|
||||
if (udev_device == NULL)
|
||||
return NULL;
|
||||
if (!udev_device->info_loaded)
|
||||
if (!udev_device->info_loaded) {
|
||||
udev_device_read_uevent_file(udev_device);
|
||||
udev_device_read_db(udev_device);
|
||||
}
|
||||
|
||||
/* we might get called before we handled an event and have a db, use the kernel-provided name */
|
||||
if (udev_device->devnode == NULL && udev_device_get_knodename(udev_device) != NULL) {
|
||||
if (asprintf(&udev_device->devnode, "%s/%s",
|
||||
udev_get_dev_path(udev_device->udev), udev_device_get_knodename(udev_device)) < 0)
|
||||
return NULL;
|
||||
return udev_device->devnode;
|
||||
}
|
||||
|
||||
return udev_device->devnode;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user