From: Keith Busch Date: Fri, 5 Aug 2016 21:10:51 +0000 (-0600) Subject: Fix f/w log on big endian X-Git-Tag: v0.9~18 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1276f057440de52df2aa47be5fb0b4712a0b6646;p=users%2Fhch%2Fnvme-cli.git 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 --- 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;