diff options
author | Christoph Hellwig <hch@lst.de> | 2017-07-14 11:14:46 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-07-20 08:41:56 -0600 |
commit | 7722ecdc54a4019eaeeebfdac53915bf0c68a7ff (patch) | |
tree | e29a73e92e460fffd586c124bb9575e2e95b6ec3 /drivers | |
parent | dc1a0afbacaeaced8f5679a99047c0467f1099e9 (diff) | |
download | linux-stable-7722ecdc54a4019eaeeebfdac53915bf0c68a7ff.tar.gz linux-stable-7722ecdc54a4019eaeeebfdac53915bf0c68a7ff.tar.bz2 linux-stable-7722ecdc54a4019eaeeebfdac53915bf0c68a7ff.zip |
nvmet-fc: fix byte swapping in nvmet_fc_ls_create_association
We always need to do non-equal comparisms on the native endian versions
to get the correct result.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/nvme/target/fc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index 1e6dcc241b3c..d5801c150b1c 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -1174,14 +1174,14 @@ nvmet_fc_ls_create_association(struct nvmet_fc_tgtport *tgtport, */ if (iod->rqstdatalen < FCNVME_LSDESC_CRA_RQST_MINLEN) ret = VERR_CR_ASSOC_LEN; - else if (rqst->desc_list_len < - cpu_to_be32(FCNVME_LSDESC_CRA_RQST_MIN_LISTLEN)) + else if (be32_to_cpu(rqst->desc_list_len) < + FCNVME_LSDESC_CRA_RQST_MIN_LISTLEN) ret = VERR_CR_ASSOC_RQST_LEN; else if (rqst->assoc_cmd.desc_tag != cpu_to_be32(FCNVME_LSDESC_CREATE_ASSOC_CMD)) ret = VERR_CR_ASSOC_CMD; - else if (rqst->assoc_cmd.desc_len < - cpu_to_be32(FCNVME_LSDESC_CRA_CMD_DESC_MIN_DESCLEN)) + else if (be32_to_cpu(rqst->assoc_cmd.desc_len) < + FCNVME_LSDESC_CRA_CMD_DESC_MIN_DESCLEN) ret = VERR_CR_ASSOC_CMD_LEN; else if (!rqst->assoc_cmd.ersp_ratio || (be16_to_cpu(rqst->assoc_cmd.ersp_ratio) >= |