The error reporting in btt_log_read() prints sequence numbers out from the log which are stored in little endian without any endian conversion. Make sure these are passed throuhg endian convesion before going to the kernel console so the user sees the correct sequence number and to avoid any warnings from sparse due to endian conversion.
Fix the following (prototype) sparse warnings: drivers/nvdimm/btt.c:342:17: warning: incorrect type in argument 5 (different base types) drivers/nvdimm/btt.c:342:17: expected int drivers/nvdimm/btt.c:342:17: got restricted __le32 [usertype] seq drivers/nvdimm/btt.c:342:17: warning: incorrect type in argument 6 (different base types) drivers/nvdimm/btt.c:342:17: expected int drivers/nvdimm/btt.c:342:17: got restricted __le32 [usertype] seq Signed-off-by: Ben Dooks <[email protected]> --- v2: reworded commnit messae --- drivers/nvdimm/btt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c index 7e1112960d7f..e9d548442884 100644 --- a/drivers/nvdimm/btt.c +++ b/drivers/nvdimm/btt.c @@ -341,8 +341,9 @@ static int btt_log_read(struct arena_info *arena, u32 lane, if (old_ent < 0 || old_ent > 1) { dev_err(to_dev(arena), "log corruption (%d): lane %d seq [%d, %d]\n", - old_ent, lane, log.ent[arena->log_index[0]].seq, - log.ent[arena->log_index[1]].seq); + old_ent, lane, + le32_to_cpu(log.ent[arena->log_index[0]].seq), + le32_to_cpu(log.ent[arena->log_index[1]].seq)); /* TODO set error state? */ return -EIO; } -- 2.37.2.352.g3c44437643

