diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-23 11:29:34 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-23 16:32:23 +0200 |
commit | 56ac9054573354d64b9aca774371e5432f8a2454 (patch) | |
tree | de0ca22128f0780e19dfa643d70a0d1a59251f60 /commands/ubi.c | |
parent | 675ef4770f1c896b8a24e89699b501c90f1847d9 (diff) | |
download | barebox-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.c | 13 |
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; |