summaryrefslogtreecommitdiffstats
path: root/src/libdt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdt.c')
-rw-r--r--src/libdt.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libdt.c b/src/libdt.c
index a509878..7ac7d85 100644
--- a/src/libdt.c
+++ b/src/libdt.c
@@ -2295,11 +2295,13 @@ int of_get_devicepath(struct device_node *partition_node, char **devpath, off_t
return udev_parse_eeprom(dev, devpath);
} else {
/* try to find a block device */
- ret = device_find_block_device(dev, devpath);
- if (!ret)
+ ret = udev_parse_mtd(dev, devpath, size);
+ if (ret) {
+ ret = device_find_block_device(dev, devpath);
+ if (ret)
+ return ret;
return of_parse_partition(partition_node, offset, size);
- else
- return udev_parse_mtd(dev, devpath, size);
+ }
}
}