+ /* fallback to search all sys devices for the major/minor */
+ enumerate = udev_enumerate_new_from_subsystems(udev, NULL);
+ if (enumerate == NULL)
+ return NULL;
+ list = udev_enumerate_get_devices_list(enumerate);
+ while (list != NULL) {
+ struct udev_device *device_loop;
+
+ device_loop = udev_device_new_from_syspath(udev, udev_list_get_name(list));
+ if (device_loop != NULL) {
+ if (udev_device_get_devnum(device_loop) == devnum) {
+ device = device_loop;
+ break;
+ }
+ udev_device_unref(device_loop);
+ }
+ list = udev_list_get_next(list);
+ }
+ udev_enumerate_unref(enumerate);
+ return device;