scsi: lpfc: Fix nvme embedded io length on new hardware
authorJames Smart <jsmart2021@gmail.com>
Thu, 22 Feb 2018 16:18:49 +0000 (08:18 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 23 Feb 2018 01:39:29 +0000 (20:39 -0500)
Newer hardware more strictly enforces buffer lenghts, causing an
mis-set value to be identified. Older hardware won't catch it.
The difference is benign on old hardware.

Set the right embedded buffer length for nvme ios.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_nvme.c

index 5a1a6e24a27fbdcab321ea4d6cc3a80efa4213be..c75958daf7993a35ba5fb91d99cb0abeb6a38ba3 100644 (file)
@@ -655,7 +655,7 @@ lpfc_nvme_adj_fcp_sgls(struct lpfc_vport *vport,
 
        /* Word 0-2 - NVME CMND IU (embedded payload) */
        wqe->generic.bde.tus.f.bdeFlags = BUFF_TYPE_BDE_IMMED;
-       wqe->generic.bde.tus.f.bdeSize = 60;
+       wqe->generic.bde.tus.f.bdeSize = 56;
        wqe->generic.bde.addrHigh = 0;
        wqe->generic.bde.addrLow =  64;  /* Word 16 */