diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c index 2f4db3cc0..33ed47763 100644 --- a/src/udev/udev-event.c +++ b/src/udev/udev-event.c @@ -797,8 +797,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, if (major(udev_device_get_devnum(dev)) != 0) udev_node_remove(dev); } else { - event->dev_db = udev_device_new_from_syspath(event->udev, udev_device_get_syspath(dev)); + event->dev_db = udev_device_new(event->udev); if (event->dev_db != NULL) { + udev_device_set_syspath(event->dev_db, udev_device_get_syspath(dev)); + udev_device_set_subsystem(event->dev_db, udev_device_get_subsystem(dev)); udev_device_read_db(event->dev_db, NULL); udev_device_set_info_loaded(event->dev_db);