if (!devnode) {
devnode = udev_device_get_devnode(dev);
- if (!devnode)
+ if (!devnode) {
+ udev_device_unref(dev);
continue;
+ }
if (fnmatch(MMC_PATH, devnode, 0) &&
fnmatch(SCSI_PATH, devnode, 0) &&
- fnmatch(EXTENDEDSD_NODE_PATH, devnode, 0))
+ fnmatch(EXTENDEDSD_NODE_PATH, devnode, 0)) {
+ udev_device_unref(dev);
continue;
+ }
}
r = check_external_storage(devnode);
- if (r <= 0)
+ if (r <= 0) {
+ udev_device_unref(dev);
continue;
+ }
r = check_already_handled(devnode);
if (r < 0) {
_I("%s is already handled", devnode);
+ udev_device_unref(dev);
continue;
}