From 56ac9054573354d64b9aca774371e5432f8a2454 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 23 Jul 2013 11:29:34 +0200 Subject: 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 --- commands/ubi.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'commands') 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; -- cgit v1.2.3