]> git.ozlabs.org Git - petitboot/blobdiff - discover/udev.c
discover/udev: duplicate devices aren't an error
[petitboot] / discover / udev.c
index 656c5ab7faa3cacb294f329bdea474f50e526c07..16e83d59312d700cbff05d5567d86ec47c548a39 100644 (file)
@@ -121,7 +121,7 @@ static int udev_handle_block_add(struct pb_udev *udev, struct udev_device *dev,
                if (ddev) {
                        pb_log("SKIP: %s UUID [%s] already present (as %s)\n",
                                        name, uuid, ddev->device->id);
-                       return -1;
+                       return 0;
                }
        }
 
@@ -398,10 +398,8 @@ static int udev_process(void *arg)
        struct udev_monitor *monitor = arg;
        struct udev_device *dev;
        const char *action;
-       int result;
 
        dev = udev_monitor_receive_device(monitor);
-
        if (!dev) {
                pb_log("udev_monitor_receive_device failed\n");
                return -1;
@@ -411,17 +409,12 @@ static int udev_process(void *arg)
 
        if (!action) {
                pb_log("udev_device_get_action failed\n");
-               goto fail;
+       } else {
+               udev_handle_dev_action(dev, action);
        }
 
-       result = udev_handle_dev_action(dev, action);
-
        udev_device_unref(dev);
-       return result;
-
-fail:
-       udev_device_unref(dev);
-       return -1;
+       return 0;
 }
 
 static void udev_log_fn(struct udev __attribute__((unused)) *udev,