diff mbox series

[v2,01/13] qla2xxx: Fix I/O failures during remote port toggle testing

Message ID 20200902072548.11491-2-njavali@marvell.com
State Superseded
Headers show
Series qla2xxx misc features and bug fixes | expand

Commit Message

Nilesh Javali Sept. 2, 2020, 7:25 a.m. UTC
From: Arun Easi <aeasi@marvell.com>

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.

Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_nvme.c | 2 +-
 drivers/scsi/qla2xxx/qla_nvme.h | 3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)

Comments

Himanshu Madhani Sept. 2, 2020, 3:33 p.m. UTC | #1
> On Sep 2, 2020, at 2:25 AM, Nilesh Javali <njavali@marvell.com> wrote:
> 
> From: Arun Easi <aeasi@marvell.com>
> 
> 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.
> 
> Signed-off-by: Arun Easi <aeasi@marvell.com>
> Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
> Signed-off-by: Nilesh Javali <njavali@marvell.com>
> ---
> drivers/scsi/qla2xxx/qla_nvme.c | 2 +-
> drivers/scsi/qla2xxx/qla_nvme.h | 3 ---
> 2 files changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
> index 0ded9a778bb0..b05e4545ef5f 100644
> --- a/drivers/scsi/qla2xxx/qla_nvme.c
> +++ b/drivers/scsi/qla2xxx/qla_nvme.c
> @@ -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;
> diff --git a/drivers/scsi/qla2xxx/qla_nvme.h b/drivers/scsi/qla2xxx/qla_nvme.h
> index fbb844226630..cf45a5b277f1 100644
> --- a/drivers/scsi/qla2xxx/qla_nvme.h
> +++ b/drivers/scsi/qla2xxx/qla_nvme.h
> @@ -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
> -- 
> 2.19.0.rc0
> 

Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>

--
Himanshu Madhani	 Oracle Linux Engineering
diff mbox series

Patch

diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
index 0ded9a778bb0..b05e4545ef5f 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.c
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
@@ -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;
diff --git a/drivers/scsi/qla2xxx/qla_nvme.h b/drivers/scsi/qla2xxx/qla_nvme.h
index fbb844226630..cf45a5b277f1 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.h
+++ b/drivers/scsi/qla2xxx/qla_nvme.h
@@ -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