aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2012-01-27 10:30:46 -0800
committerArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2012-02-02 13:25:14 +0200
commit457c9fe94be95bffaced33029d3ca2986e8179c1 (patch)
tree680d24f165cb10b987d33dc657bec447c48d0ced
parentde3f8789d9e54b2e0e45197a693ad87ebf3bab60 (diff)
mtdinfo: fix `--all' for non-consecutive device numbers
When we have assigned non-consecutive device numbers to our MTD devices, then we run `mtdinfo --all', we get errors once mtdinfo tries to process the devices in the "hole". For instance, suppose that at boot time, we have one MTD (/dev/mtd0) then perform a sequence like the following: # modprobe mtdram # modprobe nandsim # rmmod mtdram Then at this point, we have should have devices 0 and 2 without 1. Then: # mtdinfo --all ... mtdinfo: error!: mtd1 does not correspond to any existing MTD device We add a check to first see if device is present, then continue to the next ID if it doesn't exist. Reported-by: Brian Foster <brian.foster@maxim-ic.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
-rw-r--r--ubi-utils/mtdinfo.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ubi-utils/mtdinfo.c b/ubi-utils/mtdinfo.c
index ead4bce..d25595a 100644
--- a/ubi-utils/mtdinfo.c
+++ b/ubi-utils/mtdinfo.c
@@ -378,6 +378,8 @@ static int print_general_info(libmtd_t libmtd, const struct mtd_info *mtd_info,
for (i = mtd_info->lowest_mtd_num;
i <= mtd_info->highest_mtd_num; i++) {
+ if (!mtd_dev_present(libmtd, i))
+ continue;
err = print_dev_info(libmtd, mtd_info, i);
if (err)
return err;