scsi: mpt3sas: Fix reference tag handling for WRITE_INSERT
authorMartin K. Petersen <martin.petersen@oracle.com>
Thu, 28 Oct 2021 03:42:02 +0000 (23:42 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 29 Oct 2021 18:03:58 +0000 (14:03 -0400)
commit61a9f252c1c026f84129a7bfa476e880b75e80eb
tree8442f475e190d9bfb13abccadd2e582a3d4f5ebd
parent282da7cef078a87b6d5e8ceba8b17e428cf0e37c
scsi: mpt3sas: Fix reference tag handling for WRITE_INSERT

Testing revealed a problem with how the reference tag was handled for
a WRITE_INSERT operation. The SCSI_PROT_REF_CHECK flag is not set when
the controller is asked to generate the protection information
(i.e. not DIX). And as a result the initial reference tag would not be
set in the WRITE_INSERT case.

Separate handling of the REF_CHECK and REF_INCREMENT flags to align
with both the DIX spec and the MPI implementation.

Link: https://lore.kernel.org/r/20211028034202.24225-1-martin.petersen@oracle.com
Fixes: b3e2c72af1d5 ("scsi: mpt3sas: Use the proper SCSI midlayer interfaces for PI")
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpt3sas/mpt3sas_scsih.c