[openwrt/openwrt] generic: platform/mikrotik: fix routerboot_tag_show_u32s()

LEDE Commits lede-commits at lists.infradead.org
Wed Jul 8 10:07:23 EDT 2020


ynezz pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/5c4b431a3cd00bd0e7d0d66abe5ff02d669a9266

commit 5c4b431a3cd00bd0e7d0d66abe5ff02d669a9266
Author: Thibaut VARÈNE <hacks at slashdirt.org>
AuthorDate: Fri Jun 5 13:59:41 2020 +0200

    generic: platform/mikrotik: fix routerboot_tag_show_u32s()
    
    The routine would only accurately print out the first word.
    
    Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
    Fixes: 5ecf7d96 ("generic: routerboot sysfs platform driver")
---
 .../linux/generic/files/drivers/platform/mikrotik/routerboot.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
index 47e4471f8e..4c8c0bfac5 100644
--- a/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
+++ b/target/linux/generic/files/drivers/platform/mikrotik/routerboot.c
@@ -194,18 +194,18 @@ ssize_t routerboot_tag_show_string(const u8 *pld, u16 pld_len, char *buf)
 ssize_t routerboot_tag_show_u32s(const u8 *pld, u16 pld_len, char *buf)
 {
 	char *out = buf;
-	u32 data;	// cpu-endian
+	u32 *data;	// cpu-endian
 
 	/* Caller ensures pld_len > 0 */
-	if (pld_len % sizeof(data))
+	if (pld_len % sizeof(*data))
 		return -EINVAL;
 
-	data = *(u32 *)pld;
+	data = (u32 *)pld;
 
 	do {
-		out += sprintf(out, "0x%08x\n", data);
+		out += sprintf(out, "0x%08x\n", *data);
 		data++;
-	} while ((pld_len -= sizeof(data)));
+	} while ((pld_len -= sizeof(*data)));
 
 	return out - buf;
 }



More information about the lede-commits mailing list