From 457c9fe94be95bffaced33029d3ca2986e8179c1 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 27 Jan 2012 10:30:46 -0800 Subject: 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 Signed-off-by: Brian Norris Signed-off-by: Artem Bityutskiy --- ubi-utils/mtdinfo.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'ubi-utils') 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; -- cgit v1.2.3