nvme: fix byte swapping in the streams code
authorChristoph Hellwig <hch@lst.de>
Fri, 14 Jul 2017 09:12:09 +0000 (11:12 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Jul 2017 14:41:56 +0000 (08:41 -0600)
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/core.c
include/linux/nvme.h

index cb96f4a7ae3a93b4f6736d6b375098a88e935fa3..3b77cfe5aa1eb2250b6f60d4a596840a57473a03 100644 (file)
@@ -336,7 +336,7 @@ static int nvme_get_stream_params(struct nvme_ctrl *ctrl,
 
        c.directive.opcode = nvme_admin_directive_recv;
        c.directive.nsid = cpu_to_le32(nsid);
-       c.directive.numd = sizeof(*s);
+       c.directive.numd = cpu_to_le32(sizeof(*s));
        c.directive.doper = NVME_DIR_RCV_ST_OP_PARAM;
        c.directive.dtype = NVME_DIR_STREAMS;
 
index 6b8ee9e628e1890e616b4708c0ceed22a903df86..bc74da018bdcd5a3ab3ebf0d5e783a1f9780207b 100644 (file)
@@ -963,14 +963,14 @@ struct nvme_dbbuf {
 };
 
 struct streams_directive_params {
-       __u16   msl;
-       __u16   nssa;
-       __u16   nsso;
+       __le16  msl;
+       __le16  nssa;
+       __le16  nsso;
        __u8    rsvd[10];
-       __u32   sws;
-       __u16   sgs;
-       __u16   nsa;
-       __u16   nso;
+       __le32  sws;
+       __le16  sgs;
+       __le16  nsa;
+       __le16  nso;
        __u8    rsvd2[6];
 };