linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] qla2xxx bug fixes
@ 2022-07-13  5:20 Nilesh Javali
  2022-07-13  5:20 ` [PATCH 01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover" Nilesh Javali
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

Martin,

Please apply the qla2xxx driver bug fixes to the scsi tree
at your earliest convenience.

Thanks,
Nilesh

Arun Easi (2):
  qla2xxx: Fix response queue handler reading stale packets
  qla2xxx: Fix discovery issues in FC-AL topology

Bikash Hazarika (3):
  qla2xxx: Fix incorrect display of max frame size
  qla2xxx: zero undefined mailbox IN registers
  qla2xxx: update manufacturer details

Nilesh Javali (3):
  Revert "scsi: qla2xxx: Fix disk failure to rediscover"
  qla2xxx: fix sparse warning for dport_data
  qla2xxx: Update version to 10.02.07.800-k

Quinn Tran (2):
  qla2xxx: edif: Fix dropped IKE message
  qla2xxx: Fix imbalance vha->vref_count

 drivers/scsi/qla2xxx/qla_bsg.c     |  4 +-
 drivers/scsi/qla2xxx/qla_def.h     |  3 +-
 drivers/scsi/qla2xxx/qla_gbl.h     |  5 +-
 drivers/scsi/qla2xxx/qla_gs.c      | 11 ++--
 drivers/scsi/qla2xxx/qla_init.c    | 40 +++++++++++++--
 drivers/scsi/qla2xxx/qla_isr.c     | 80 ++++++++++++++++++------------
 drivers/scsi/qla2xxx/qla_mbx.c     |  7 ++-
 drivers/scsi/qla2xxx/qla_nvme.c    |  5 --
 drivers/scsi/qla2xxx/qla_os.c      | 10 ++++
 drivers/scsi/qla2xxx/qla_version.h |  4 +-
 10 files changed, 114 insertions(+), 55 deletions(-)


base-commit: bcec04b3cce4c498ef0d416a3a2aaf0369578151
-- 
2.19.0.rc0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover"
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 02/10] qla2xxx: Fix incorrect display of max frame size Nilesh Javali
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

This fixes the regression of nvme discovery failure during
driver load time.

This reverts commit 6a45c8e137d4e2c72eecf1ac7cf64f2fdfcead99.

Cc: stable@vger.kernel.org
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_init.c | 5 ++---
 drivers/scsi/qla2xxx/qla_nvme.c | 5 -----
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 41ffad65d29e..e9bc93395e2f 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -5789,8 +5789,6 @@ qla2x00_reg_remote_port(scsi_qla_host_t *vha, fc_port_t *fcport)
 	if (atomic_read(&fcport->state) == FCS_ONLINE)
 		return;
 
-	qla2x00_set_fcport_state(fcport, FCS_ONLINE);
-
 	rport_ids.node_name = wwn_to_u64(fcport->node_name);
 	rport_ids.port_name = wwn_to_u64(fcport->port_name);
 	rport_ids.port_id = fcport->d_id.b.domain << 16 |
@@ -5891,7 +5889,6 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
 		qla2x00_reg_remote_port(vha, fcport);
 		break;
 	case MODE_TARGET:
-		qla2x00_set_fcport_state(fcport, FCS_ONLINE);
 		if (!vha->vha_tgt.qla_tgt->tgt_stop &&
 			!vha->vha_tgt.qla_tgt->tgt_stopped)
 			qlt_fc_port_added(vha, fcport);
@@ -5909,6 +5906,8 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
 	if (NVME_TARGET(vha->hw, fcport))
 		qla_nvme_register_remote(vha, fcport);
 
+	qla2x00_set_fcport_state(fcport, FCS_ONLINE);
+
 	if (IS_IIDMA_CAPABLE(vha->hw) && vha->hw->flags.gpsc_supported) {
 		if (fcport->id_changed) {
 			fcport->id_changed = 0;
diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c
index 87c9404aa401..7450c3458be7 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.c
+++ b/drivers/scsi/qla2xxx/qla_nvme.c
@@ -37,11 +37,6 @@ int qla_nvme_register_remote(struct scsi_qla_host *vha, struct fc_port *fcport)
 		(fcport->nvme_flag & NVME_FLAG_REGISTERED))
 		return 0;
 
-	if (atomic_read(&fcport->state) == FCS_ONLINE)
-		return 0;
-
-	qla2x00_set_fcport_state(fcport, FCS_ONLINE);
-
 	fcport->nvme_flag &= ~NVME_FLAG_RESETTING;
 
 	memset(&req, 0, sizeof(struct nvme_fc_port_info));
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 02/10] qla2xxx: Fix incorrect display of max frame size
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
  2022-07-13  5:20 ` [PATCH 01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover" Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 03/10] qla2xxx: zero undefined mailbox IN registers Nilesh Javali
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Bikash Hazarika <bhazarika@marvell.com>

Replace display field with the correct field.

Fixes: 8777e4314 ("scsi: qla2xxx: Migrate NVME N2N handling into state machine")
Cc: stable@vger.kernel.org
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_def.h  | 1 +
 drivers/scsi/qla2xxx/qla_gs.c   | 9 +++------
 drivers/scsi/qla2xxx/qla_init.c | 2 ++
 drivers/scsi/qla2xxx/qla_isr.c  | 4 +---
 4 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 1bdc7a208fe3..91c8fedc8ffa 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -3988,6 +3988,7 @@ struct qla_hw_data {
 	/* SRB cache. */
 #define SRB_MIN_REQ     128
 	mempool_t       *srb_mempool;
+	u8 port_name[WWN_SIZE];
 
 	volatile struct {
 		uint32_t	mbox_int		:1;
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index 68fb91ef380a..88c841195bdf 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -1596,7 +1596,6 @@ qla2x00_hba_attributes(scsi_qla_host_t *vha, void *entries,
 	unsigned int callopt)
 {
 	struct qla_hw_data *ha = vha->hw;
-	struct init_cb_24xx *icb24 = (void *)ha->init_cb;
 	struct new_utsname *p_sysid = utsname();
 	struct ct_fdmi_hba_attr *eiter;
 	uint16_t alen;
@@ -1758,8 +1757,8 @@ qla2x00_hba_attributes(scsi_qla_host_t *vha, void *entries,
 	/* MAX CT Payload Length */
 	eiter = entries + size;
 	eiter->type = cpu_to_be16(FDMI_HBA_MAXIMUM_CT_PAYLOAD_LENGTH);
-	eiter->a.max_ct_len = cpu_to_be32(le16_to_cpu(IS_FWI2_CAPABLE(ha) ?
-		icb24->frame_payload_size : ha->init_cb->frame_payload_size));
+	eiter->a.max_ct_len = cpu_to_be32(ha->frame_payload_size >> 2);
+
 	alen = sizeof(eiter->a.max_ct_len);
 	alen += FDMI_ATTR_TYPELEN(eiter);
 	eiter->len = cpu_to_be16(alen);
@@ -1851,7 +1850,6 @@ qla2x00_port_attributes(scsi_qla_host_t *vha, void *entries,
 	unsigned int callopt)
 {
 	struct qla_hw_data *ha = vha->hw;
-	struct init_cb_24xx *icb24 = (void *)ha->init_cb;
 	struct new_utsname *p_sysid = utsname();
 	char *hostname = p_sysid ?
 		p_sysid->nodename : fc_host_system_hostname(vha->host);
@@ -1903,8 +1901,7 @@ qla2x00_port_attributes(scsi_qla_host_t *vha, void *entries,
 	/* Max frame size. */
 	eiter = entries + size;
 	eiter->type = cpu_to_be16(FDMI_PORT_MAX_FRAME_SIZE);
-	eiter->a.max_frame_size = cpu_to_be32(le16_to_cpu(IS_FWI2_CAPABLE(ha) ?
-		icb24->frame_payload_size : ha->init_cb->frame_payload_size));
+	eiter->a.max_frame_size = cpu_to_be32(ha->frame_payload_size);
 	alen = sizeof(eiter->a.max_frame_size);
 	alen += FDMI_ATTR_TYPELEN(eiter);
 	eiter->len = cpu_to_be16(alen);
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index e9bc93395e2f..15fb5ed565c0 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4534,6 +4534,8 @@ qla2x00_init_rings(scsi_qla_host_t *vha)
 			 BIT_6) != 0;
 		ql_dbg(ql_dbg_init, vha, 0x00bc, "FA-WWPN Support: %s.\n",
 		    (ha->flags.fawwpn_enabled) ? "enabled" : "disabled");
+		/* Init_cb will be reused for other command(s).  Save a backup copy of port_name */
+		memcpy(ha->port_name, ha->init_cb->port_name, WWN_SIZE);
 	}
 
 	/* ELS pass through payload is limit by frame size. */
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 24f9a3b116d8..4fa24d318f14 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1354,9 +1354,7 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)
 			if (!vha->vp_idx) {
 				if (ha->flags.fawwpn_enabled &&
 				    (ha->current_topology == ISP_CFG_F)) {
-					void *wwpn = ha->init_cb->port_name;
-
-					memcpy(vha->port_name, wwpn, WWN_SIZE);
+					memcpy(vha->port_name, ha->port_name, WWN_SIZE);
 					fc_host_port_name(vha->host) =
 					    wwn_to_u64(vha->port_name);
 					ql_dbg(ql_dbg_init + ql_dbg_verbose,
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 03/10] qla2xxx: zero undefined mailbox IN registers
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
  2022-07-13  5:20 ` [PATCH 01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover" Nilesh Javali
  2022-07-13  5:20 ` [PATCH 02/10] qla2xxx: Fix incorrect display of max frame size Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 04/10] qla2xxx: Fix response queue handler reading stale packets Nilesh Javali
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Bikash Hazarika <bhazarika@marvell.com>

While requesting a new mailbox command, driver does not
write any data to unused registers.
Initialize the unused register value to zero while requesting
a new mailbox command to prevent stale entry access by firmware.

Cc: stable@vger.kernel.org
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_mbx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 643fa0052f5a..9a3f832c49ef 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -238,6 +238,8 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
 			ql_dbg(ql_dbg_mbx, vha, 0x1112,
 			    "mbox[%d]<-0x%04x\n", cnt, *iptr);
 			wrt_reg_word(optr, *iptr);
+		} else {
+			wrt_reg_word(optr, 0);
 		}
 
 		mboxes >>= 1;
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 04/10] qla2xxx: Fix response queue handler reading stale packets
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (2 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 03/10] qla2xxx: zero undefined mailbox IN registers Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 05/10] qla2xxx: edif: Fix dropped IKE message Nilesh Javali
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Arun Easi <aeasi@marvell.com>

On some platforms, the current logic of relying on finding new
packet solely based on signature pattern can lead to driver
reading stale packets. Though this is a bug in those platforms,
reduce such exposures by limiting reading packets until the IN
pointer.

Two module parameters are introduced:
ql2xrspq_follow_inptr:
When set, on newer adapters that has queue pointer shadowing,
look for response packets only until response queue in
pointer.

When reset, response packets are read based on a
signature pattern logic (old way).

ql2xrspq_follow_inptr_legacy:
Like ql2xrspq_follow_inptr, but for those
adapters where there is no queue pointer shadowing.

Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_gbl.h |  2 ++
 drivers/scsi/qla2xxx/qla_isr.c | 24 +++++++++++++++++++++++-
 drivers/scsi/qla2xxx/qla_os.c  | 10 ++++++++++
 3 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 3674b35196b0..96147ca40126 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -193,6 +193,8 @@ extern int ql2xsecenable;
 extern int ql2xenforce_iocb_limit;
 extern int ql2xabts_wait_nvme;
 extern u32 ql2xnvme_queues;
+extern int ql2xrspq_follow_inptr;
+extern int ql2xrspq_follow_inptr_legacy;
 
 extern int qla2x00_loop_reset(scsi_qla_host_t *);
 extern void qla2x00_abort_all_cmds(scsi_qla_host_t *, int);
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 4fa24d318f14..35b425c446b9 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -3780,6 +3780,8 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 	struct qla_hw_data *ha = vha->hw;
 	struct purex_entry_24xx *purex_entry;
 	struct purex_item *pure_item;
+	u16 rsp_in = 0;
+	int follow_inptr, is_shadow_hba;
 
 	if (!ha->flags.fw_started)
 		return;
@@ -3789,7 +3791,25 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 		qla_cpu_update(rsp->qpair, smp_processor_id());
 	}
 
-	while (rsp->ring_ptr->signature != RESPONSE_PROCESSED) {
+#define __update_rsp_in(_update, _is_shadow_hba, _rsp, _rsp_in)		\
+	do {								\
+		if (_update) {						\
+			_rsp_in = _is_shadow_hba ? *(_rsp)->in_ptr :	\
+				rd_reg_dword_relaxed((_rsp)->rsp_q_in);	\
+		}							\
+	} while (0)
+
+	is_shadow_hba = IS_SHADOW_REG_CAPABLE(ha);
+	follow_inptr = is_shadow_hba ? ql2xrspq_follow_inptr :
+				ql2xrspq_follow_inptr_legacy;
+
+	__update_rsp_in(follow_inptr, is_shadow_hba, rsp, rsp_in);
+
+	while ((likely(follow_inptr &&
+		       rsp->ring_index != rsp_in &&
+		       rsp->ring_ptr->signature != RESPONSE_PROCESSED)) ||
+		       (!follow_inptr &&
+			rsp->ring_ptr->signature != RESPONSE_PROCESSED)) {
 		pkt = (struct sts_entry_24xx *)rsp->ring_ptr;
 
 		rsp->ring_index++;
@@ -3902,6 +3922,8 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 				}
 				pure_item = qla27xx_copy_fpin_pkt(vha,
 							  (void **)&pkt, &rsp);
+				__update_rsp_in(follow_inptr, is_shadow_hba,
+						rsp, rsp_in);
 				if (!pure_item)
 					break;
 				qla24xx_queue_purex_item(vha, pure_item,
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 1c7fb6484db2..0bd0fd1042df 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -338,6 +338,16 @@ module_param(ql2xdelay_before_pci_error_handling, uint, 0644);
 MODULE_PARM_DESC(ql2xdelay_before_pci_error_handling,
 	"Number of seconds delayed before qla begin PCI error self-handling (default: 5).\n");
 
+int ql2xrspq_follow_inptr = 1;
+module_param(ql2xrspq_follow_inptr, int, 0644);
+MODULE_PARM_DESC(ql2xrspq_follow_inptr,
+		 "Follow RSP IN pointer for RSP updates for HBAs 27xx and newer (default: 1).");
+
+int ql2xrspq_follow_inptr_legacy = 1;
+module_param(ql2xrspq_follow_inptr_legacy, int, 0644);
+MODULE_PARM_DESC(ql2xrspq_follow_inptr_legacy,
+		 "Follow RSP IN pointer for RSP updates for HBAs older than 27XX. (default: 1).");
+
 static void qla2x00_clear_drv_active(struct qla_hw_data *);
 static void qla2x00_free_device(scsi_qla_host_t *);
 static int qla2xxx_map_queues(struct Scsi_Host *shost);
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 05/10] qla2xxx: edif: Fix dropped IKE message
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (3 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 04/10] qla2xxx: Fix response queue handler reading stale packets Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 06/10] qla2xxx: Fix imbalance vha->vref_count Nilesh Javali
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Quinn Tran <qutran@marvell.com>

This patch fixes IKE message being dropped due to error in processing
Purex IOCB and Continuation IOCBs.

Fixes: fac2807946c1 ("scsi: qla2xxx: edif: Add extraction of auth_els from the wire")
Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_isr.c | 54 +++++++++++++++-------------------
 1 file changed, 24 insertions(+), 30 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 35b425c446b9..76e79f350a22 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -3720,12 +3720,11 @@ void qla24xx_nvme_ls4_iocb(struct scsi_qla_host *vha,
  * Return: 0 all iocbs has arrived, xx- all iocbs have not arrived.
  */
 static int qla_chk_cont_iocb_avail(struct scsi_qla_host *vha,
-	struct rsp_que *rsp, response_t *pkt)
+	struct rsp_que *rsp, response_t *pkt, u32 rsp_q_in)
 {
-	int start_pkt_ring_index, end_pkt_ring_index, n_ring_index;
-	response_t *end_pkt;
+	int start_pkt_ring_index;
+	u32 iocb_cnt = 0;
 	int rc = 0;
-	u32 rsp_q_in;
 
 	if (pkt->entry_count == 1)
 		return rc;
@@ -3736,34 +3735,18 @@ static int qla_chk_cont_iocb_avail(struct scsi_qla_host *vha,
 	else
 		start_pkt_ring_index = rsp->ring_index - 1;
 
-	if ((start_pkt_ring_index + pkt->entry_count) >= rsp->length)
-		end_pkt_ring_index = start_pkt_ring_index + pkt->entry_count -
-			rsp->length - 1;
+	if (rsp_q_in < start_pkt_ring_index)
+		/* q in ptr is wrapped */
+		iocb_cnt = rsp->length - start_pkt_ring_index + rsp_q_in;
 	else
-		end_pkt_ring_index = start_pkt_ring_index + pkt->entry_count - 1;
+		iocb_cnt = rsp_q_in - start_pkt_ring_index;
 
-	end_pkt = rsp->ring + end_pkt_ring_index;
-
-	/*  next pkt = end_pkt + 1 */
-	n_ring_index = end_pkt_ring_index + 1;
-	if (n_ring_index >= rsp->length)
-		n_ring_index = 0;
-
-	rsp_q_in = rsp->qpair->use_shadow_reg ? *rsp->in_ptr :
-		rd_reg_dword(rsp->rsp_q_in);
-
-	/* rsp_q_in is either wrapped or pointing beyond endpkt */
-	if ((rsp_q_in < start_pkt_ring_index && rsp_q_in < n_ring_index) ||
-			rsp_q_in >= n_ring_index)
-		/* all IOCBs arrived. */
-		rc = 0;
-	else
+	if (iocb_cnt < pkt->entry_count)
 		rc = -EIO;
 
-	ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x5091,
-	    "%s - ring %p pkt %p end pkt %p entry count %#x rsp_q_in %d rc %d\n",
-	    __func__, rsp->ring, pkt, end_pkt, pkt->entry_count,
-	    rsp_q_in, rc);
+	ql_dbg(ql_dbg_init, vha, 0x5091,
+	       "%s - ring %p pkt %p entry count %d iocb_cnt %d rsp_q_in %d rc %d\n",
+	       __func__, rsp->ring, pkt, pkt->entry_count, iocb_cnt, rsp_q_in, rc);
 
 	return rc;
 }
@@ -3780,7 +3763,7 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 	struct qla_hw_data *ha = vha->hw;
 	struct purex_entry_24xx *purex_entry;
 	struct purex_item *pure_item;
-	u16 rsp_in = 0;
+	u16 rsp_in = 0, cur_ring_index;
 	int follow_inptr, is_shadow_hba;
 
 	if (!ha->flags.fw_started)
@@ -3811,6 +3794,7 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 		       (!follow_inptr &&
 			rsp->ring_ptr->signature != RESPONSE_PROCESSED)) {
 		pkt = (struct sts_entry_24xx *)rsp->ring_ptr;
+		cur_ring_index = rsp->ring_index;
 
 		rsp->ring_index++;
 		if (rsp->ring_index == rsp->length) {
@@ -3931,7 +3915,17 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
 				break;
 
 			case ELS_AUTH_ELS:
-				if (qla_chk_cont_iocb_avail(vha, rsp, (response_t *)pkt)) {
+				if (qla_chk_cont_iocb_avail(vha, rsp, (response_t *)pkt, rsp_in)) {
+					/*
+					 * ring_ptr and ring_index were
+					 * pre-incremented above. Reset them
+					 * back to current. Wait for next
+					 * interrupt with all IOCBs to arrive
+					 * and re-process.
+					 */
+					rsp->ring_ptr = (response_t *)pkt;
+					rsp->ring_index = cur_ring_index;
+
 					ql_dbg(ql_dbg_init, vha, 0x5091,
 					    "Defer processing ELS opcode %#x...\n",
 					    purex_entry->els_frame_payload[3]);
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 06/10] qla2xxx: Fix imbalance vha->vref_count
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (4 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 05/10] qla2xxx: edif: Fix dropped IKE message Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 07/10] qla2xxx: Fix discovery issues in FC-AL topology Nilesh Javali
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Quinn Tran <qutran@marvell.com>

vref_count took an extra decrement in the task management path.
Add an extra ref count to compensate the imbalance.

Cc: stable@vger.kernel.org
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_init.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 15fb5ed565c0..83fae4c341ee 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -168,6 +168,7 @@ int qla24xx_async_abort_cmd(srb_t *cmd_sp, bool wait)
 	struct srb_iocb *abt_iocb;
 	srb_t *sp;
 	int rval = QLA_FUNCTION_FAILED;
+	uint8_t bail;
 
 	/* ref: INIT for ABTS command */
 	sp = qla2xxx_get_qpair_sp(cmd_sp->vha, cmd_sp->qpair, cmd_sp->fcport,
@@ -175,6 +176,7 @@ int qla24xx_async_abort_cmd(srb_t *cmd_sp, bool wait)
 	if (!sp)
 		return QLA_MEMORY_ALLOC_FAILED;
 
+	QLA_VHA_MARK_BUSY(vha, bail);
 	abt_iocb = &sp->u.iocb_cmd;
 	sp->type = SRB_ABT_CMD;
 	sp->name = "abort";
@@ -2018,12 +2020,14 @@ qla2x00_async_tm_cmd(fc_port_t *fcport, uint32_t flags, uint32_t lun,
 	struct srb_iocb *tm_iocb;
 	srb_t *sp;
 	int rval = QLA_FUNCTION_FAILED;
+	uint8_t bail;
 
 	/* ref: INIT */
 	sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
 	if (!sp)
 		goto done;
 
+	QLA_VHA_MARK_BUSY(vha, bail);
 	sp->type = SRB_TM_CMD;
 	sp->name = "tmf";
 	qla2x00_init_async_sp(sp, qla2x00_get_async_timeout(vha),
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 07/10] qla2xxx: Fix discovery issues in FC-AL topology
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (5 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 06/10] qla2xxx: Fix imbalance vha->vref_count Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 08/10] qla2xxx: fix sparse warning for dport_data Nilesh Javali
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Arun Easi <aeasi@marvell.com>

A direct attach tape device, when gets swapped
with another, was not discovered. Fix this by
looking at loop map and reinitialize link if
there are devices present.

Reported-by: Tony Battersby <tonyb@cybernetics.com>
Tested-by: Tony Battersby <tonyb@cybernetics.com>
Link: https://lore.kernel.org/linux-scsi/baef87c3-5dad-3b47-44c1-6914bfc90108@cybernetics.com/
Cc: stable@vger.kernel.org
Signed-off-by: Arun Easi <aeasi@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_gbl.h  |  3 ++-
 drivers/scsi/qla2xxx/qla_init.c | 29 +++++++++++++++++++++++++++++
 drivers/scsi/qla2xxx/qla_mbx.c  |  5 ++++-
 3 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 96147ca40126..5dd2932382ee 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -436,7 +436,8 @@ extern int
 qla2x00_get_resource_cnts(scsi_qla_host_t *);
 
 extern int
-qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map);
+qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map,
+		u8 *num_entries);
 
 extern int
 qla2x00_get_link_status(scsi_qla_host_t *, uint16_t, struct link_statistics *,
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 83fae4c341ee..e7fe0e52c11d 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -5516,6 +5516,22 @@ static int qla2x00_configure_n2n_loop(scsi_qla_host_t *vha)
 	return QLA_FUNCTION_FAILED;
 }
 
+static void
+qla_reinitialize_link(scsi_qla_host_t *vha)
+{
+	int rval;
+
+	atomic_set(&vha->loop_state, LOOP_DOWN);
+	atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME);
+	rval = qla2x00_full_login_lip(vha);
+	if (rval == QLA_SUCCESS) {
+		ql_dbg(ql_dbg_disc, vha, 0xd050, "Link reinitialized\n");
+	} else {
+		ql_dbg(ql_dbg_disc, vha, 0xd051,
+			"Link reinitialization failed (%d)\n", rval);
+	}
+}
+
 /*
  * qla2x00_configure_local_loop
  *	Updates Fibre Channel Device Database with local loop devices.
@@ -5567,6 +5583,19 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
 		spin_unlock_irqrestore(&vha->work_lock, flags);
 
 		if (vha->scan.scan_retry < MAX_SCAN_RETRIES) {
+			u8 loop_map_entries = 0;
+			int rc;
+
+			rc = qla2x00_get_fcal_position_map(vha, NULL,
+						&loop_map_entries);
+			if (rc == QLA_SUCCESS && loop_map_entries > 1) {
+				/*
+				 * There are devices that are still not logged
+				 * in. Reinitialize to give them a chance.
+				 */
+				qla_reinitialize_link(vha);
+				return QLA_FUNCTION_FAILED;
+			}
 			set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
 			set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
 		}
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 9a3f832c49ef..359595a64664 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -3068,7 +3068,8 @@ qla2x00_get_resource_cnts(scsi_qla_host_t *vha)
  *	Kernel context.
  */
 int
-qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map)
+qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map,
+		u8 *num_entries)
 {
 	int rval;
 	mbx_cmd_t mc;
@@ -3108,6 +3109,8 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map)
 
 		if (pos_map)
 			memcpy(pos_map, pmap, FCAL_MAP_SIZE);
+		if (num_entries)
+			*num_entries = pmap[0];
 	}
 	dma_pool_free(ha->s_dma_pool, pmap, pmap_dma);
 
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 08/10] qla2xxx: fix sparse warning for dport_data
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (6 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 07/10] qla2xxx: Fix discovery issues in FC-AL topology Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 09/10] qla2xxx: update manufacturer details Nilesh Javali
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

Use le16_to_cpu to fix sparse warning reported for dport_data.

sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/qla2xxx/qla_bsg.c:2485:34: sparse: sparse: incorrect
>> type in assignment (different base types) @@ expected unsigned
>> short [usertype] mbx1 @@ got restricted __le16 @@
   drivers/scsi/qla2xxx/qla_bsg.c:2485:34: sparse: expected unsigned short [usertype] mbx1
      drivers/scsi/qla2xxx/qla_bsg.c:2485:34: sparse: got restricted __le16
>> drivers/scsi/qla2xxx/qla_bsg.c:2486:34: sparse: sparse:
>> incorrect type in assignment (different base types) @@
>> expected unsigned short [usertype] mbx2 @@ got restricted __le16 @@
   drivers/scsi/qla2xxx/qla_bsg.c:2486:34: sparse: expected unsigned short [usertype] mbx2
   drivers/scsi/qla2xxx/qla_bsg.c:2486:34: sparse: got restricted __le16

Fixes: 476da8faa336 ("scsi: qla2xxx: Add a new v2 dport diagnostic feature")
Reported-by: kernel test robot <lkp@intel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_bsg.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_bsg.c b/drivers/scsi/qla2xxx/qla_bsg.c
index 299c5cba92f4..5db9bf69dcff 100644
--- a/drivers/scsi/qla2xxx/qla_bsg.c
+++ b/drivers/scsi/qla2xxx/qla_bsg.c
@@ -2482,8 +2482,8 @@ qla2x00_do_dport_diagnostics_v2(struct bsg_job *bsg_job)
 			dd->mbx2 = mcp->mb[1];
 			vha->dport_status |=  DPORT_DIAG_IN_PROGRESS;
 		} else if (options == QLA_GET_DPORT_RESULT_V2) {
-			dd->mbx1 = vha->dport_data[1];
-			dd->mbx2 = vha->dport_data[2];
+			dd->mbx1 = le16_to_cpu(vha->dport_data[1]);
+			dd->mbx2 = le16_to_cpu(vha->dport_data[2]);
 		}
 	} else {
 		dd->mbx1 = mcp->mb[0];
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 09/10] qla2xxx: update manufacturer details
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (7 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 08/10] qla2xxx: fix sparse warning for dport_data Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13  5:20 ` [PATCH 10/10] qla2xxx: Update version to 10.02.07.800-k Nilesh Javali
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

From: Bikash Hazarika <bhazarika@marvell.com>

Update manufacturer details to indicate Marvell Semiconductors.

Cc: stable@vger.kernel.org
Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_def.h | 2 +-
 drivers/scsi/qla2xxx/qla_gs.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 91c8fedc8ffa..3ec6a200942e 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -78,7 +78,7 @@ typedef union {
 #include "qla_nvme.h"
 #define QLA2XXX_DRIVER_NAME	"qla2xxx"
 #define QLA2XXX_APIDEV		"ql2xapidev"
-#define QLA2XXX_MANUFACTURER	"QLogic Corporation"
+#define QLA2XXX_MANUFACTURER	"Marvell Semiconductor, Inc."
 
 /*
  * We have MAILBOX_REGISTER_COUNT sized arrays in a few places,
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index 88c841195bdf..a2cb9732820f 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -1616,7 +1616,7 @@ qla2x00_hba_attributes(scsi_qla_host_t *vha, void *entries,
 	eiter->type = cpu_to_be16(FDMI_HBA_MANUFACTURER);
 	alen = scnprintf(
 		eiter->a.manufacturer, sizeof(eiter->a.manufacturer),
-		"%s", "QLogic Corporation");
+		"%s", QLA2XXX_MANUFACTURER);
 	alen += FDMI_ATTR_ALIGNMENT(alen);
 	alen += FDMI_ATTR_TYPELEN(eiter);
 	eiter->len = cpu_to_be16(alen);
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 10/10] qla2xxx: Update version to 10.02.07.800-k
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (8 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 09/10] qla2xxx: update manufacturer details Nilesh Javali
@ 2022-07-13  5:20 ` Nilesh Javali
  2022-07-13 19:14 ` [PATCH 00/10] qla2xxx bug fixes Himanshu Madhani
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Nilesh Javali @ 2022-07-13  5:20 UTC (permalink / raw)
  To: martin.petersen; +Cc: linux-scsi, GR-QLogic-Storage-Upstream

Signed-off-by: Nilesh Javali <njavali@marvell.com>
---
 drivers/scsi/qla2xxx/qla_version.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_version.h b/drivers/scsi/qla2xxx/qla_version.h
index defd21ec1555..f3257d46b6d2 100644
--- a/drivers/scsi/qla2xxx/qla_version.h
+++ b/drivers/scsi/qla2xxx/qla_version.h
@@ -6,9 +6,9 @@
 /*
  * Driver version
  */
-#define QLA2XXX_VERSION      "10.02.07.700-k"
+#define QLA2XXX_VERSION      "10.02.07.800-k"
 
 #define QLA_DRIVER_MAJOR_VER	10
 #define QLA_DRIVER_MINOR_VER	2
 #define QLA_DRIVER_PATCH_VER	7
-#define QLA_DRIVER_BETA_VER	700
+#define QLA_DRIVER_BETA_VER	800
-- 
2.19.0.rc0


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 00/10] qla2xxx bug fixes
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (9 preceding siblings ...)
  2022-07-13  5:20 ` [PATCH 10/10] qla2xxx: Update version to 10.02.07.800-k Nilesh Javali
@ 2022-07-13 19:14 ` Himanshu Madhani
  2022-07-14  4:19 ` Martin K. Petersen
  2022-07-19  3:08 ` Martin K. Petersen
  12 siblings, 0 replies; 14+ messages in thread
From: Himanshu Madhani @ 2022-07-13 19:14 UTC (permalink / raw)
  To: Nilesh Javali; +Cc: Martin Petersen, linux-scsi, GR-QLogic-Storage-Upstream



> On Jul 12, 2022, at 10:20 PM, Nilesh Javali <njavali@marvell.com> wrote:
> 
> Martin,
> 
> Please apply the qla2xxx driver bug fixes to the scsi tree
> at your earliest convenience.
> 
> Thanks,
> Nilesh
> 
> Arun Easi (2):
>  qla2xxx: Fix response queue handler reading stale packets
>  qla2xxx: Fix discovery issues in FC-AL topology
> 
> Bikash Hazarika (3):
>  qla2xxx: Fix incorrect display of max frame size
>  qla2xxx: zero undefined mailbox IN registers
>  qla2xxx: update manufacturer details
> 
> Nilesh Javali (3):
>  Revert "scsi: qla2xxx: Fix disk failure to rediscover"
>  qla2xxx: fix sparse warning for dport_data
>  qla2xxx: Update version to 10.02.07.800-k
> 
> Quinn Tran (2):
>  qla2xxx: edif: Fix dropped IKE message
>  qla2xxx: Fix imbalance vha->vref_count
> 
> drivers/scsi/qla2xxx/qla_bsg.c     |  4 +-
> drivers/scsi/qla2xxx/qla_def.h     |  3 +-
> drivers/scsi/qla2xxx/qla_gbl.h     |  5 +-
> drivers/scsi/qla2xxx/qla_gs.c      | 11 ++--
> drivers/scsi/qla2xxx/qla_init.c    | 40 +++++++++++++--
> drivers/scsi/qla2xxx/qla_isr.c     | 80 ++++++++++++++++++------------
> drivers/scsi/qla2xxx/qla_mbx.c     |  7 ++-
> drivers/scsi/qla2xxx/qla_nvme.c    |  5 --
> drivers/scsi/qla2xxx/qla_os.c      | 10 ++++
> drivers/scsi/qla2xxx/qla_version.h |  4 +-
> 10 files changed, 114 insertions(+), 55 deletions(-)
> 
> 
> base-commit: bcec04b3cce4c498ef0d416a3a2aaf0369578151
> -- 
> 2.19.0.rc0
> 

Looks Good. For the series

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

--
Himanshu Madhani	Oracle Linux Engineering


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 00/10] qla2xxx bug fixes
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (10 preceding siblings ...)
  2022-07-13 19:14 ` [PATCH 00/10] qla2xxx bug fixes Himanshu Madhani
@ 2022-07-14  4:19 ` Martin K. Petersen
  2022-07-19  3:08 ` Martin K. Petersen
  12 siblings, 0 replies; 14+ messages in thread
From: Martin K. Petersen @ 2022-07-14  4:19 UTC (permalink / raw)
  To: Nilesh Javali; +Cc: martin.petersen, linux-scsi, GR-QLogic-Storage-Upstream


Nilesh,

> Please apply the qla2xxx driver bug fixes to the scsi tree at your
> earliest convenience.

Applied to 5.20/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 00/10] qla2xxx bug fixes
  2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
                   ` (11 preceding siblings ...)
  2022-07-14  4:19 ` Martin K. Petersen
@ 2022-07-19  3:08 ` Martin K. Petersen
  12 siblings, 0 replies; 14+ messages in thread
From: Martin K. Petersen @ 2022-07-19  3:08 UTC (permalink / raw)
  To: Nilesh Javali; +Cc: Martin K . Petersen, linux-scsi, GR-QLogic-Storage-Upstream

On Tue, 12 Jul 2022 22:20:35 -0700, Nilesh Javali wrote:

> Martin,
> 
> Please apply the qla2xxx driver bug fixes to the scsi tree
> at your earliest convenience.
> 
> Thanks,
> Nilesh
> 
> [...]

Applied to 5.20/scsi-queue, thanks!

[01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover"
        https://git.kernel.org/mkp/scsi/c/5bc7b01c513a
[02/10] qla2xxx: Fix incorrect display of max frame size
        https://git.kernel.org/mkp/scsi/c/cf3b4fb65579
[03/10] qla2xxx: zero undefined mailbox IN registers
        https://git.kernel.org/mkp/scsi/c/6c96a3c7d495
[04/10] qla2xxx: Fix response queue handler reading stale packets
        https://git.kernel.org/mkp/scsi/c/b1f707146923
[05/10] qla2xxx: edif: Fix dropped IKE message
        https://git.kernel.org/mkp/scsi/c/c019cd656e71
[06/10] qla2xxx: Fix imbalance vha->vref_count
        https://git.kernel.org/mkp/scsi/c/63fa7f2644b4
[07/10] qla2xxx: Fix discovery issues in FC-AL topology
        https://git.kernel.org/mkp/scsi/c/47ccb113cead
[08/10] qla2xxx: fix sparse warning for dport_data
        https://git.kernel.org/mkp/scsi/c/166d74b876b7
[09/10] qla2xxx: update manufacturer details
        https://git.kernel.org/mkp/scsi/c/1ccad27716ec
[10/10] qla2xxx: Update version to 10.02.07.800-k
        https://git.kernel.org/mkp/scsi/c/6c20cc4885c5

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-07-19  3:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-13  5:20 [PATCH 00/10] qla2xxx bug fixes Nilesh Javali
2022-07-13  5:20 ` [PATCH 01/10] Revert "scsi: qla2xxx: Fix disk failure to rediscover" Nilesh Javali
2022-07-13  5:20 ` [PATCH 02/10] qla2xxx: Fix incorrect display of max frame size Nilesh Javali
2022-07-13  5:20 ` [PATCH 03/10] qla2xxx: zero undefined mailbox IN registers Nilesh Javali
2022-07-13  5:20 ` [PATCH 04/10] qla2xxx: Fix response queue handler reading stale packets Nilesh Javali
2022-07-13  5:20 ` [PATCH 05/10] qla2xxx: edif: Fix dropped IKE message Nilesh Javali
2022-07-13  5:20 ` [PATCH 06/10] qla2xxx: Fix imbalance vha->vref_count Nilesh Javali
2022-07-13  5:20 ` [PATCH 07/10] qla2xxx: Fix discovery issues in FC-AL topology Nilesh Javali
2022-07-13  5:20 ` [PATCH 08/10] qla2xxx: fix sparse warning for dport_data Nilesh Javali
2022-07-13  5:20 ` [PATCH 09/10] qla2xxx: update manufacturer details Nilesh Javali
2022-07-13  5:20 ` [PATCH 10/10] qla2xxx: Update version to 10.02.07.800-k Nilesh Javali
2022-07-13 19:14 ` [PATCH 00/10] qla2xxx bug fixes Himanshu Madhani
2022-07-14  4:19 ` Martin K. Petersen
2022-07-19  3:08 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).