diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 9ef851a6bb..691b9c6327 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -500,6 +500,8 @@ int device_read_uevent_file(sd_device *device) { if (device->uevent_loaded || device->sealed) return 0; + device->uevent_loaded = true; + r = sd_device_get_syspath(device, &syspath); if (r < 0) return r; @@ -570,8 +572,6 @@ int device_read_uevent_file(sd_device *device) { log_debug("sd-device: could not set 'MAJOR=%s' or 'MINOR=%s' from '%s': %s", major, minor, path, strerror(-r)); } - device->uevent_loaded = true; - return 0; } @@ -1243,6 +1243,8 @@ int device_read_db_aux(sd_device *device, bool force) { if (device->db_loaded || (!force && device->sealed)) return 0; + device->db_loaded = true; + r = device_get_id_filename(device, &id); if (r < 0) return r; @@ -1311,8 +1313,6 @@ int device_read_db_aux(sd_device *device, bool force) { } } - device->db_loaded = true; - return 0; }