scsi: qla2xxx: Fix I/O failures during remote port toggle testing
authorArun Easi <aeasi@marvell.com>
Fri, 4 Sep 2020 04:51:16 +0000 (21:51 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 22 Sep 2020 22:42:24 +0000 (18:42 -0400)
Driver was using a lower value for dev_loss_tmo making it more prone to I/O
failures during remote port toggle testing. Set dev_loss_tmo to zero during
remote port registration to allow nvme-fc default dev_loss_tmo to be used,
which is higher than what driver was using.

Link: https://lore.kernel.org/r/20200904045128.23631-2-njavali@marvell.com
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_nvme.c
drivers/scsi/qla2xxx/qla_nvme.h

index 0ded9a7..b05e454 100644 (file)
@@ -42,7 +42,7 @@ int qla_nvme_register_remote(struct scsi_qla_host *vha, struct fc_port *fcport)
        req.port_name = wwn_to_u64(fcport->port_name);
        req.node_name = wwn_to_u64(fcport->node_name);
        req.port_role = 0;
-       req.dev_loss_tmo = NVME_FC_DEV_LOSS_TMO;
+       req.dev_loss_tmo = 0;
 
        if (fcport->nvme_prli_service_param & NVME_PRLI_SP_INITIATOR)
                req.port_role = FC_PORT_ROLE_NVME_INITIATOR;
index fbb8442..cf45a5b 100644 (file)
@@ -14,9 +14,6 @@
 #include "qla_def.h"
 #include "qla_dsd.h"
 
-/* default dev loss time (seconds) before transport tears down ctrl */
-#define NVME_FC_DEV_LOSS_TMO  30
-
 #define NVME_ATIO_CMD_OFF 32
 #define NVME_FIRST_PACKET_CMDLEN (64 - NVME_ATIO_CMD_OFF)
 #define Q2T_NVME_NUM_TAGS 2048