scsi: scsi_debug: Avoid PI being disabled when TPGS is enabled
authorMartin K. Petersen <martin.petersen@oracle.com>
Fri, 19 May 2017 16:39:36 +0000 (12:39 -0400)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Jun 2017 02:58:25 +0000 (22:58 -0400)
It was not possible to enable both T10 PI and TPGS because they share
the same byte in the INQUIRY response. Logically OR the TPGS value
instead of using assignment.

Reported-by: Ritika Srivastava <ritika.srivastava@oracle.com>
Reviewed-by: Bart Van Assche <Bart.VanAssche@sandisk.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c

index 17249c3..dc095a2 100644 (file)
@@ -1404,7 +1404,7 @@ static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
        arr[4] = SDEBUG_LONG_INQ_SZ - 5;
        arr[5] = (int)have_dif_prot;    /* PROTECT bit */
        if (sdebug_vpd_use_hostno == 0)
-               arr[5] = 0x10; /* claim: implicit TGPS */
+               arr[5] |= 0x10; /* claim: implicit TPGS */
        arr[6] = 0x10; /* claim: MultiP */
        /* arr[6] |= 0x40; ... claim: EncServ (enclosure services) */
        arr[7] = 0xa; /* claim: LINKED + CMDQUE */