diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libdt.c | 10 |
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); + } } } |