If we don't check for the MTD before calling `legacy_get_dev_info1', we may
get errors like:
libmtd: MTD subsystem is old and does not support sysfs, so MTD character device nodes have to exist
libmtd: error!: "/dev/mtd2" is not a character device
mtdinfo: error!: libmtd failed get MTD device 2 information
error 22 (Invalid argument)
So reverse the order of these two checks.
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
memset(mtd, 0, sizeof(struct mtd_dev_info));
mtd->mtd_num = mtd_num;
- if (!lib->sysfs_supported)
- return legacy_get_dev_info1(mtd_num, mtd);
- else if (!mtd_dev_present(desc, mtd_num)) {
+ if (!mtd_dev_present(desc, mtd_num)) {
errno = ENODEV;
return -1;
- }
+ } else if (!lib->sysfs_supported)
+ return legacy_get_dev_info1(mtd_num, mtd);
if (dev_get_major(lib, mtd_num, &mtd->major, &mtd->minor))
return -1;