diff mbox series

[v2,08/13] qla2xxx: edif: tweak trace message

Message ID 20211021073208.27582-9-njavali@marvell.com (mailing list archive)
State Superseded
Headers show
Series qla2xxx - misc driver and EDIF bug fixes | expand

Commit Message

Nilesh Javali Oct. 21, 2021, 7:32 a.m. UTC
From: Quinn Tran <qutran@marvell.com>

Modify trace messages for additional debugability.

Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_def.h  |  4 ++--
 drivers/scsi/qla2xxx/qla_edif.c |  6 +++++-
 drivers/scsi/qla2xxx/qla_init.c | 15 +++++++++------
 drivers/scsi/qla2xxx/qla_isr.c  |  4 ++++
 4 files changed, 20 insertions(+), 9 deletions(-)

Comments

Himanshu Madhani Oct. 21, 2021, 2:35 p.m. UTC | #1
> On Oct 21, 2021, at 2:32 AM, Nilesh Javali <njavali@marvell.com> wrote:
> 
> From: Quinn Tran <qutran@marvell.com>
> 
> Modify trace messages for additional debugability.
> 
> Signed-off-by: Quinn Tran <qutran@marvell.com>
> Signed-off-by: Nilesh Javali <njavali@marvell.com>
> ---
> drivers/scsi/qla2xxx/qla_def.h  |  4 ++--
> drivers/scsi/qla2xxx/qla_edif.c |  6 +++++-
> drivers/scsi/qla2xxx/qla_init.c | 15 +++++++++------
> drivers/scsi/qla2xxx/qla_isr.c  |  4 ++++
> 4 files changed, 20 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
> index 8924eeb9367d..9ebf4a234d9a 100644
> --- a/drivers/scsi/qla2xxx/qla_def.h
> +++ b/drivers/scsi/qla2xxx/qla_def.h
> @@ -639,9 +639,9 @@ struct qla_els_pt_arg {
> 	u8 els_opcode;
> 	u8 vp_idx;
> 	__le16 nport_handle;
> -	u16 control_flags;
> +	u16 control_flags, ox_id;
> 	__le32 rx_xchg_address;
> -	port_id_t did;
> +	port_id_t did, sid;
> 	u32 tx_len, tx_byte_count, rx_len, rx_byte_count;
> 	dma_addr_t tx_addr, rx_addr;
> 
> diff --git a/drivers/scsi/qla2xxx/qla_edif.c b/drivers/scsi/qla2xxx/qla_edif.c
> index ca3b947770b9..bb3a1afb86a8 100644
> --- a/drivers/scsi/qla2xxx/qla_edif.c
> +++ b/drivers/scsi/qla2xxx/qla_edif.c
> @@ -1765,7 +1765,8 @@ qla_els_reject_iocb(scsi_qla_host_t *vha, struct qla_qpair *qp,
> 	qla_els_pt_iocb(vha, els_iocb, a);
> 
> 	ql_dbg(ql_dbg_edif, vha, 0x0183,
> -	    "Sending ELS reject...\n");
> +	    "Sending ELS reject ox_id %04x s:%06x -> d:%06x\n",
> +	    a->ox_id, a->sid.b24, a->did.b24);
> 	ql_dump_buffer(ql_dbg_edif + ql_dbg_verbose, vha, 0x0185,
> 	    vha->hw->elsrej.c, sizeof(*vha->hw->elsrej.c));
> 	/* flush iocb to mem before notifying hw doorbell */
> @@ -2362,6 +2363,7 @@ void qla24xx_auth_els(scsi_qla_host_t *vha, void **pkt, struct rsp_que **rsp)
> 	a.tx_addr = vha->hw->elsrej.cdma;
> 	a.vp_idx = vha->vp_idx;
> 	a.control_flags = EPD_ELS_RJT;
> +	a.ox_id = le16_to_cpu(p->ox_id);
> 
> 	sid = p->s_id[0] | (p->s_id[1] << 8) | (p->s_id[2] << 16);
> 
> @@ -2411,6 +2413,8 @@ void qla24xx_auth_els(scsi_qla_host_t *vha, void **pkt, struct rsp_que **rsp)
> 	purex->pur_info.pur_did.b.al_pa =  p->d_id[0];
> 	purex->pur_info.vp_idx = p->vp_idx;
> 
> +	a.sid = purex->pur_info.pur_did;
> +
> 	rc = __qla_copy_purex_to_buffer(vha, pkt, rsp, purex->msgp,
> 		purex->msgp_len);
> 	if (rc) {
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index 2ccdc76cf0d9..dbffc59e1677 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -333,9 +333,6 @@ qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t *fcport,
> 		    vha->e_dbell.db_flags & EDB_ACTIVE) {
> 			lio->u.logio.flags |=
> 				(SRB_LOGIN_FCSP | SRB_LOGIN_SKIP_PRLI);
> -			ql_dbg(ql_dbg_disc, vha, 0x2072,
> -			    "Async-login: w/ FCSP %8phC hdl=%x, loopid=%x portid=%06x\n",
> -			    fcport->port_name, sp->handle, fcport->loop_id, fcport->d_id.b24);
> 		} else {
> 			lio->u.logio.flags |= SRB_LOGIN_COND_PLOGI;
> 		}
> @@ -344,12 +341,14 @@ qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t *fcport,
> 	if (NVME_TARGET(vha->hw, fcport))
> 		lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI;
> 
> +	rval = qla2x00_start_sp(sp);
> +
> 	ql_dbg(ql_dbg_disc, vha, 0x2072,
> -	       "Async-login - %8phC hdl=%x, loopid=%x portid=%06x retries=%d.\n",
> +	       "Async-login - %8phC hdl=%x, loopid=%x portid=%06x retries=%d %s.\n",
> 	       fcport->port_name, sp->handle, fcport->loop_id,
> -	       fcport->d_id.b24, fcport->login_retry);
> +	       fcport->d_id.b24, fcport->login_retry,
> +	       lio->u.logio.flags & SRB_LOGIN_FCSP ? "FCSP" : "");
> 
> -	rval = qla2x00_start_sp(sp);
> 	if (rval != QLA_SUCCESS) {
> 		fcport->flags |= FCF_LOGIN_NEEDED;
> 		set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
> @@ -5867,6 +5866,10 @@ void qla_register_fcport_fn(struct work_struct *work)
> 
> 	qla2x00_update_fcport(fcport->vha, fcport);
> 
> +	ql_dbg(ql_dbg_disc, fcport->vha, 0x911e,
> +	       "%s rscn gen %d/%d next DS %d\n", __func__,
> +	       rscn_gen, fcport->rscn_gen, fcport->next_disc_state);
> +
> 	if (rscn_gen != fcport->rscn_gen) {
> 		/* RSCN(s) came in while registration */
> 		switch (fcport->next_disc_state) {
> diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
> index b26f2699adb2..4e1dffa329f1 100644
> --- a/drivers/scsi/qla2xxx/qla_isr.c
> +++ b/drivers/scsi/qla2xxx/qla_isr.c
> @@ -2233,6 +2233,10 @@ qla24xx_els_ct_entry(scsi_qla_host_t *v, struct req_que *req,
> 				}
> 
> 			} else if (comp_status == CS_PORT_LOGGED_OUT) {
> +				ql_dbg(ql_dbg_disc, vha, 0x911e,
> +				       "%s %d sche delete\n”,
						^^^^^ 
Please use “scheduled” here. Or better yet more meaningful message so its easy to read during debugging. 

> +				       __func__, __LINE__);
> +
> 				els->u.els_plogi.len = 0;
> 				res = DID_IMM_RETRY << 16;
> 				qlt_schedule_sess_for_deletion(sp->fcport);
> -- 
> 2.19.0.rc0
> 

Once small nit above is fixed, feel free to add

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

--
Himanshu Madhani	 Oracle Linux Engineering
diff mbox series

Patch

diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 8924eeb9367d..9ebf4a234d9a 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -639,9 +639,9 @@  struct qla_els_pt_arg {
 	u8 els_opcode;
 	u8 vp_idx;
 	__le16 nport_handle;
-	u16 control_flags;
+	u16 control_flags, ox_id;
 	__le32 rx_xchg_address;
-	port_id_t did;
+	port_id_t did, sid;
 	u32 tx_len, tx_byte_count, rx_len, rx_byte_count;
 	dma_addr_t tx_addr, rx_addr;
 
diff --git a/drivers/scsi/qla2xxx/qla_edif.c b/drivers/scsi/qla2xxx/qla_edif.c
index ca3b947770b9..bb3a1afb86a8 100644
--- a/drivers/scsi/qla2xxx/qla_edif.c
+++ b/drivers/scsi/qla2xxx/qla_edif.c
@@ -1765,7 +1765,8 @@  qla_els_reject_iocb(scsi_qla_host_t *vha, struct qla_qpair *qp,
 	qla_els_pt_iocb(vha, els_iocb, a);
 
 	ql_dbg(ql_dbg_edif, vha, 0x0183,
-	    "Sending ELS reject...\n");
+	    "Sending ELS reject ox_id %04x s:%06x -> d:%06x\n",
+	    a->ox_id, a->sid.b24, a->did.b24);
 	ql_dump_buffer(ql_dbg_edif + ql_dbg_verbose, vha, 0x0185,
 	    vha->hw->elsrej.c, sizeof(*vha->hw->elsrej.c));
 	/* flush iocb to mem before notifying hw doorbell */
@@ -2362,6 +2363,7 @@  void qla24xx_auth_els(scsi_qla_host_t *vha, void **pkt, struct rsp_que **rsp)
 	a.tx_addr = vha->hw->elsrej.cdma;
 	a.vp_idx = vha->vp_idx;
 	a.control_flags = EPD_ELS_RJT;
+	a.ox_id = le16_to_cpu(p->ox_id);
 
 	sid = p->s_id[0] | (p->s_id[1] << 8) | (p->s_id[2] << 16);
 
@@ -2411,6 +2413,8 @@  void qla24xx_auth_els(scsi_qla_host_t *vha, void **pkt, struct rsp_que **rsp)
 	purex->pur_info.pur_did.b.al_pa =  p->d_id[0];
 	purex->pur_info.vp_idx = p->vp_idx;
 
+	a.sid = purex->pur_info.pur_did;
+
 	rc = __qla_copy_purex_to_buffer(vha, pkt, rsp, purex->msgp,
 		purex->msgp_len);
 	if (rc) {
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 2ccdc76cf0d9..dbffc59e1677 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -333,9 +333,6 @@  qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t *fcport,
 		    vha->e_dbell.db_flags & EDB_ACTIVE) {
 			lio->u.logio.flags |=
 				(SRB_LOGIN_FCSP | SRB_LOGIN_SKIP_PRLI);
-			ql_dbg(ql_dbg_disc, vha, 0x2072,
-			    "Async-login: w/ FCSP %8phC hdl=%x, loopid=%x portid=%06x\n",
-			    fcport->port_name, sp->handle, fcport->loop_id, fcport->d_id.b24);
 		} else {
 			lio->u.logio.flags |= SRB_LOGIN_COND_PLOGI;
 		}
@@ -344,12 +341,14 @@  qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t *fcport,
 	if (NVME_TARGET(vha->hw, fcport))
 		lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI;
 
+	rval = qla2x00_start_sp(sp);
+
 	ql_dbg(ql_dbg_disc, vha, 0x2072,
-	       "Async-login - %8phC hdl=%x, loopid=%x portid=%06x retries=%d.\n",
+	       "Async-login - %8phC hdl=%x, loopid=%x portid=%06x retries=%d %s.\n",
 	       fcport->port_name, sp->handle, fcport->loop_id,
-	       fcport->d_id.b24, fcport->login_retry);
+	       fcport->d_id.b24, fcport->login_retry,
+	       lio->u.logio.flags & SRB_LOGIN_FCSP ? "FCSP" : "");
 
-	rval = qla2x00_start_sp(sp);
 	if (rval != QLA_SUCCESS) {
 		fcport->flags |= FCF_LOGIN_NEEDED;
 		set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
@@ -5867,6 +5866,10 @@  void qla_register_fcport_fn(struct work_struct *work)
 
 	qla2x00_update_fcport(fcport->vha, fcport);
 
+	ql_dbg(ql_dbg_disc, fcport->vha, 0x911e,
+	       "%s rscn gen %d/%d next DS %d\n", __func__,
+	       rscn_gen, fcport->rscn_gen, fcport->next_disc_state);
+
 	if (rscn_gen != fcport->rscn_gen) {
 		/* RSCN(s) came in while registration */
 		switch (fcport->next_disc_state) {
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index b26f2699adb2..4e1dffa329f1 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -2233,6 +2233,10 @@  qla24xx_els_ct_entry(scsi_qla_host_t *v, struct req_que *req,
 				}
 
 			} else if (comp_status == CS_PORT_LOGGED_OUT) {
+				ql_dbg(ql_dbg_disc, vha, 0x911e,
+				       "%s %d sche delete\n",
+				       __func__, __LINE__);
+
 				els->u.els_plogi.len = 0;
 				res = DID_IMM_RETRY << 16;
 				qlt_schedule_sess_for_deletion(sp->fcport);