[PATCH 2/4] ubiattach command: Properly check return values
Sascha Hauer
s.hauer at pengutronix.de
Tue Jul 23 06:28:00 EDT 2013
- 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 at pengutronix.de>
---
commands/ubi.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/commands/ubi.c b/commands/ubi.c
index 854ea83..5b57d0b 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;
--
1.8.3.2
More information about the barebox
mailing list