From 1276f057440de52df2aa47be5fb0b4712a0b6646 Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Fri, 5 Aug 2016 15:10:51 -0600 Subject: [PATCH] Fix f/w log on big endian The driver handles the endian conversion already, so doing this from user-space was resulting in the wrong value for big-endian machines. Signed-off-by: Keith Busch --- nvme-ioctl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nvme-ioctl.c b/nvme-ioctl.c index 2a26ca2..c0d659b 100644 --- a/nvme-ioctl.c +++ b/nvme-ioctl.c @@ -363,10 +363,8 @@ int nvme_get_log(int fd, __u32 nsid, __u8 log_id, __u32 data_len, void *data) .data_len = data_len, }; __u32 numd = (data_len >> 2) - 1; - __le16 numdu, numdl; + __u16 numdu = numd >> 16, numdl = numd & 0xffff; - numdu = htole16((numd & 0xFFFF0000) >> 16); - numdl = htole16(numd & 0x0000FFFF); cmd.cdw10 = log_id | (numdl << 16); cmd.cdw11 = numdu; -- 2.50.1