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 @@ 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); + } } }