From bc8c1c0750e243a47f4dce43ca32bb4cc5a15455 Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Tue, 25 Dec 2007 19:17:00 +0200 Subject: [PATCH] --- yaml --- r: 84247 b: refs/heads/master c: d1f3dd6cc00f5bf744118fb2820ecdf09a1f4b73 h: refs/heads/master i: 84245: 6b1d75683002e20f574864dbec4d52122005cf0c 84243: 93faf19cf6b96472cee7c933f74badf5beb2bcbd 84239: 290f8d27b4769453f646f2b1b90d1fccae4c616a v: v3 --- [refs] | 2 +- trunk/drivers/mtd/ubi/build.c | 36 ++++++++++++----------------------- 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/[refs] b/[refs] index 646945d96bee..f14806c21b06 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 783b273afab43437dca731a229d53d72faf77fd3 +refs/heads/master: d1f3dd6cc00f5bf744118fb2820ecdf09a1f4b73 diff --git a/trunk/drivers/mtd/ubi/build.c b/trunk/drivers/mtd/ubi/build.c index 6ac133994f94..0ed8105f9c11 100644 --- a/trunk/drivers/mtd/ubi/build.c +++ b/trunk/drivers/mtd/ubi/build.c @@ -867,38 +867,26 @@ static void ltree_entry_ctor(struct kmem_cache *cache, void *obj) * find_mtd_device - open an MTD device by its name or number. * @mtd_dev: name or number of the device * - * This function tries to open and MTD device with name @mtd_dev, and if it - * fails, then it tries to interpret the @mtd_dev string as an ASCII-coded - * integer and open an MTD device with this number. Returns MTD device - * description object in case of success and a negative error code in case of - * failure. + * This function tries to open and MTD device described by @mtd_dev string, + * which is first treated as an ASCII number, and if it is not true, it is + * treated as MTD device name. Returns MTD device description object in case of + * success and a negative error code in case of failure. */ static struct mtd_info * __init open_mtd_device(const char *mtd_dev) { struct mtd_info *mtd; + int mtd_num; + char *endp; - mtd = get_mtd_device_nm(mtd_dev); - if (IS_ERR(mtd)) { - int mtd_num; - char *endp; - - if (PTR_ERR(mtd) != -ENODEV) - return mtd; - + mtd_num = simple_strtoul(mtd_dev, &endp, 0); + if (*endp != '\0' || mtd_dev == endp) { /* - * Probably this is not MTD device name but MTD device number - - * check this out. + * This does not look like an ASCII integer, probably this is + * MTD device name. */ - mtd_num = simple_strtoul(mtd_dev, &endp, 0); - if (*endp != '\0' || mtd_dev == endp) { - ubi_err("incorrect MTD device: \"%s\"", mtd_dev); - return ERR_PTR(-ENODEV); - } - + mtd = get_mtd_device_nm(mtd_dev); + } else mtd = get_mtd_device(NULL, mtd_num); - if (IS_ERR(mtd)) - return mtd; - } return mtd; }