summaryrefslogtreecommitdiffstats
path: root/commands/ubi.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-07-23 11:29:34 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-07-23 16:32:23 +0200
commit56ac9054573354d64b9aca774371e5432f8a2454 (patch)
treede0ca22128f0780e19dfa643d70a0d1a59251f60 /commands/ubi.c
parent675ef4770f1c896b8a24e89699b501c90f1847d9 (diff)
downloadbarebox-56ac9054573354d64b9aca774371e5432f8a2454.tar.gz
barebox-56ac9054573354d64b9aca774371e5432f8a2454.tar.xz
ubiattach command: Properly check return values
- print error when ioctl fails, not a combined message when one of ioctl or ubi_attach_mtd_dev failed. - ubi_attach_mtd_dev() returns the ubi number for success, not 0, so check for ret < 0 to detect errors. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/ubi.c')
-rw-r--r--commands/ubi.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/commands/ubi.c b/commands/ubi.c
index 854ea83258..5b57d0bd6c 100644
--- a/commands/ubi.c
+++ b/commands/ubi.c
@@ -71,12 +71,17 @@ static int do_ubiattach(int argc, char *argv[])
}
ret = ioctl(fd, MEMGETINFO, &user);
- if (!ret)
- ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, 0);
+ if (ret) {
+ printf("MEMGETINFO failed: %s\n", strerror(-ret));
+ goto err;
+ }
- if (ret)
+ ret = ubi_attach_mtd_dev(user.mtd, UBI_DEV_NUM_AUTO, 0);
+ if (ret < 0)
printf("failed to attach: %s\n", strerror(-ret));
-
+ else
+ ret = 0;
+err:
close(fd);
return ret ? 1 : 0;