mirror of https://github.com/hak5/openwrt.git
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@slashdirt.org>
Fixes: 5ecf7d96
("generic: routerboot sysfs platform driver")
master
parent
8c13ebd3ad
commit
5c4b431a3c
|
@ -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)
|
ssize_t routerboot_tag_show_u32s(const u8 *pld, u16 pld_len, char *buf)
|
||||||
{
|
{
|
||||||
char *out = buf;
|
char *out = buf;
|
||||||
u32 data; // cpu-endian
|
u32 *data; // cpu-endian
|
||||||
|
|
||||||
/* Caller ensures pld_len > 0 */
|
/* Caller ensures pld_len > 0 */
|
||||||
if (pld_len % sizeof(data))
|
if (pld_len % sizeof(*data))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
data = *(u32 *)pld;
|
data = (u32 *)pld;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
out += sprintf(out, "0x%08x\n", data);
|
out += sprintf(out, "0x%08x\n", *data);
|
||||||
data++;
|
data++;
|
||||||
} while ((pld_len -= sizeof(data)));
|
} while ((pld_len -= sizeof(*data)));
|
||||||
|
|
||||||
return out - buf;
|
return out - buf;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue