--- John can you give it a try, please? --- .../generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c index 2bb5e9a..4abc4be 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c +++ b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c @@ -20,6 +20,8 @@ #include "mtdsplit.h" +static int first_try = 1; + /* * uimage_header itself is only 64B, but it may be prepended with another data. * Currently the biggest size is for Edimax devices: 20B + 64B @@ -60,6 +62,8 @@ read_uimage_header(struct mtd_info *mtd, size_t offset, u_char *buf, size_t retlen; int ret; + if (first_try) + pr_info("[%s] buf:%p header_len:%zu\n", __FUNCTION__, buf, header_len); ret = mtd_read(mtd, offset, header_len, &retlen, buf); if (ret) { pr_debug("read error in \"%s\"\n", mtd->name); @@ -106,11 +110,15 @@ static int __mtdsplit_parse_uimage(struct mtd_info *master, ret = -ENOMEM; goto err_free_parts; } + if (first_try) + pr_info("[%s] buf:%p sizeof(*buf):%u\n", __FUNCTION__, buf, sizeof(*buf)); /* find uImage on erase block boundaries */ for (offset = 0; offset < master->size; offset += master->erasesize) { struct uimage_header *header; + if (first_try) + pr_info("[%s] sizeof(*header):%u\n", __FUNCTION__, sizeof(*header)); uimage_size = 0; ret = read_uimage_header(master, offset, buf, sizeof(*buf)); @@ -308,8 +316,13 @@ static ssize_t uimage_find_edimax(u_char *buf, size_t len) { struct uimage_header *header; + if (first_try) + pr_info("[%s] buf:%p len:%zu FW_EDIMAX_OFFSET + sizeof(*header):%u\n", __FUNCTION__, buf, len, FW_EDIMAX_OFFSET + sizeof(*header)); + if (len < FW_EDIMAX_OFFSET + sizeof(*header)) { - pr_err("Buffer too small for checking Edimax header\n"); + if (first_try) + pr_err("Buffer too small for checking Edimax header\n"); + first_try = 0; return -ENOSPC; } -- 1.8.4.5 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel