chiark / gitweb /
hwdb: Update database of Bluetooth company identifiers
[elogind.git] / src / udev / udevd.c
index 0f3f3f087a7a7616dec174d4b96ae857e4f5fbff..a45d3240c6661165b35b92b4f6bcab62e2a8dda8 100644 (file)
@@ -304,7 +304,7 @@ static void worker_new(struct event *event)
                          * <kabi_> IMHO this sounds like a good plan for this moment
                          */
                         if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
-                            !startswith("dm-", udev_device_get_sysname(dev))) {
+                            !startswith(udev_device_get_sysname(dev), "dm-")) {
                                 struct udev_device *d = dev;
 
                                 if (streq_ptr("partition", udev_device_get_devtype(d)))
@@ -741,7 +741,7 @@ static int synthesize_change(struct udev_device *dev) {
 
         if (streq_ptr("block", udev_device_get_subsystem(dev)) &&
             streq_ptr("disk", udev_device_get_devtype(dev)) &&
-            !startswith("dm-", udev_device_get_sysname(dev))) {
+            !startswith(udev_device_get_sysname(dev), "dm-")) {
                 bool part_table_read = false;
                 bool has_partitions = false;
                 int fd;
@@ -780,6 +780,8 @@ static int synthesize_change(struct udev_device *dev) {
                         return r;
 
                 r = udev_enumerate_scan_devices(e);
+                if (r < 0)
+                        return r;
 
                 udev_list_entry_foreach(item, udev_enumerate_get_list_entry(e)) {
                         _cleanup_udev_device_unref_ struct udev_device *d = NULL;