{
struct sysfs_device *dev;
struct udevice *udev;
+ int retval = 0;
/* clear and set environment for next event */
clearenv();
dbg("device event will be ignored");
goto exit;
}
- if (udev->name[0] == '\0') {
- dbg("device node creation supressed");
- goto run;
- }
+ if (udev->name[0] != '\0')
+ retval = udev_add_device(udev);
+ else
+ info("device node creation supressed");
- udev_add_device(udev);
-run:
- if (udev_run && !list_empty(&udev->run_list)) {
+ if (retval == 0 && udev_run) {
struct name_entry *name_loop;
dbg("executing run list");
char program[PATH_SIZE];
strlcpy(program, name_loop->name, sizeof(program));
- apply_format(udev, program, sizeof(program));
+ udev_rules_apply_format(udev, program, sizeof(program));
run_program(program, udev->dev->subsystem, NULL, 0, NULL, (udev_log_priority >= LOG_INFO));
}
}
}
+
exit:
udev_device_cleanup(udev);
-
return 0;
}