linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
@ 2012-10-10 11:24 vikas.chaudhary
  2012-10-10 16:08 ` Michael Christie
  0 siblings, 1 reply; 18+ messages in thread
From: vikas.chaudhary @ 2012-10-10 11:24 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade, ravi.anand

From: Vikas Chaudhary <vikas.chaudhary@qlogic.com>

James,

Please apply the following patches to the scsi tree at your earliest
convenience.

Thanks,
Vikas.

Adheer Chandravanshi (1):
      qla4xxx: Added new BSG command QLISCSI_VND_ABOUT_FIRMWARE

Harish Zunjarrao (3):
      qla4xxx: Allow reset in link down case
      qla4xxx: Invoke Set Address Control Block using BSG
      qla4xxx: Invoke DisableACB using BSG

Manish Rangankar (2):
      qla4xxx: Add get default DDB support using BSG.
      qla4xxx: Add get DDB support using BSG.

Vikas Chaudhary (1):
      qla4xxx: Update driver version to 5.03.00-k2

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

* Re: [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
  2012-10-10 11:24 vikas.chaudhary
@ 2012-10-10 16:08 ` Michael Christie
  2012-11-13 13:34   ` James Bottomley
  0 siblings, 1 reply; 18+ messages in thread
From: Michael Christie @ 2012-10-10 16:08 UTC (permalink / raw)
  To: vikas.chaudhary; +Cc: jbottomley, linux-scsi, lalit.chandivade, ravi.anand


On Oct 10, 2012, at 6:24 AM, vikas.chaudhary@qlogic.com wrote:

> From: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
> 
> James,
> 
> Please apply the following patches to the scsi tree at your earliest
> convenience.
> 
> Thanks,
> Vikas.
> 

I think some of these should be common operations instead of vendor ones.


> Adheer Chandravanshi (1):
>      qla4xxx: Added new BSG command QLISCSI_VND_ABOUT_FIRMWARE
> 

What info does this provide?


> Harish Zunjarrao (3):
>      qla4xxx: Allow reset in link down case
>      qla4xxx: Invoke Set Address Control Block using BSG

Does this set the networking info?


>      qla4xxx: Invoke DisableACB using BSG

What does this do? Disable the networking?



> Manish Rangankar (2):
>      qla4xxx: Add get default DDB support using BSG.

What does this do? Get the default DDB settings?

>      qla4xxx: Add get DDB support using BSG.




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

* Re: [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
  2012-10-10 16:08 ` Michael Christie
@ 2012-11-13 13:34   ` James Bottomley
  2012-11-16  5:50     ` Lalit Chandivade
  0 siblings, 1 reply; 18+ messages in thread
From: James Bottomley @ 2012-11-13 13:34 UTC (permalink / raw)
  To: Michael Christie
  Cc: vikas.chaudhary, linux-scsi, lalit.chandivade, ravi.anand

On Wed, 2012-10-10 at 11:08 -0500, Michael Christie wrote:
> On Oct 10, 2012, at 6:24 AM, vikas.chaudhary@qlogic.com wrote:
> 
> > From: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
> > 
> > James,
> > 
> > Please apply the following patches to the scsi tree at your earliest
> > convenience.
> > 
> > Thanks,
> > Vikas.
> > 
> 
> I think some of these should be common operations instead of vendor ones.
> 
> 
> > Adheer Chandravanshi (1):
> >      qla4xxx: Added new BSG command QLISCSI_VND_ABOUT_FIRMWARE
> > 
> 
> What info does this provide?
> 
> 
> > Harish Zunjarrao (3):
> >      qla4xxx: Allow reset in link down case
> >      qla4xxx: Invoke Set Address Control Block using BSG
> 
> Does this set the networking info?
> 
> 
> >      qla4xxx: Invoke DisableACB using BSG
> 
> What does this do? Disable the networking?

Ping on this, please.   Mike's points seem eminently sensible, what is
the response?

James



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

* RE: [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
  2012-11-13 13:34   ` James Bottomley
@ 2012-11-16  5:50     ` Lalit Chandivade
  0 siblings, 0 replies; 18+ messages in thread
From: Lalit Chandivade @ 2012-11-16  5:50 UTC (permalink / raw)
  To: James Bottomley, Michael Christie
  Cc: Vikas Chaudhary, linux-scsi@vger.kernel.org, Ravi Anand

Hi James,

Some of the interfaces like about firmware we can make generic.
And we are still discussing internally, if we can really make the Address Control Block (ACB) interface generic or not.

May be we will re-submit the patches without the ACB (which is still under discussion) in next week.

Thanks,
Lalit.

> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com]
> Sent: Tuesday, November 13, 2012 7:05 PM
> To: Michael Christie
> Cc: Vikas Chaudhary; linux-scsi@vger.kernel.org; Lalit Chandivade; Ravi
> Anand
> Subject: Re: [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
>
> On Wed, 2012-10-10 at 11:08 -0500, Michael Christie wrote:
> > On Oct 10, 2012, at 6:24 AM, vikas.chaudhary@qlogic.com wrote:
> >
> > > From: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
> > >
> > > James,
> > >
> > > Please apply the following patches to the scsi tree at your earliest
> > > convenience.
> > >
> > > Thanks,
> > > Vikas.
> > >
> >
> > I think some of these should be common operations instead of vendor
> ones.
> >
> >
> > > Adheer Chandravanshi (1):
> > >      qla4xxx: Added new BSG command QLISCSI_VND_ABOUT_FIRMWARE
> > >
> >
> > What info does this provide?
> >
> >
> > > Harish Zunjarrao (3):
> > >      qla4xxx: Allow reset in link down case
> > >      qla4xxx: Invoke Set Address Control Block using BSG
> >
> > Does this set the networking info?
> >
> >
> > >      qla4xxx: Invoke DisableACB using BSG
> >
> > What does this do? Disable the networking?
>
> Ping on this, please.   Mike's points seem eminently sensible, what is
> the response?
>
> James
>
>


________________________________

This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.

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

* [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
@ 2013-07-08 12:33 adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 1/7] qla4xxx: Allow removal of failed session using logout adheer.chandravanshi
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

James,

Please apply the following patches to the scsi tree at your earliest
convenience.

Adheer Chandravanshi (7):
	qla4xxx: Allow removal of failed session using logout.
	qla4xxx: Use discovery_parent_idx instead of discovery_parent_type
	qla4xxx: Set IPv6 traffic class if device type is IPv6.
	qla4xxx: discovery_parent_idx can be shown without any check.
	qla4xxx: Only BIOS boot target entries should be at index 0 and 1.
	qla4xxx: Export more firmware info in sysfs
	qla4xxx: Update driver version to 5.03.00-k11

Thanks,
Adheer


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

* [PATCH 1/7] qla4xxx: Allow removal of failed session using logout.
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-08-23 19:32   ` James Bottomley
  2013-07-08 12:33 ` [PATCH 2/7] qla4xxx: Use discovery_parent_idx instead of discovery_parent_type adheer.chandravanshi
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

If logout is performed on a failed session entry then that session
should be gracefully removed.

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_def.h |    1 +
 drivers/scsi/qla4xxx/ql4_os.c  |   48 +++++++++++++++++++++++++++++++++------
 2 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
index ddf16a8..50dc0c7 100644
--- a/drivers/scsi/qla4xxx/ql4_def.h
+++ b/drivers/scsi/qla4xxx/ql4_def.h
@@ -335,6 +335,7 @@ struct ql4_tuple_ddb {
 #define DF_BOOT_TGT		1	/* Boot target entry */
 #define DF_ISNS_DISCOVERED	2	/* Device was discovered via iSNS */
 #define DF_FO_MASKED		3
+#define DF_DISABLE_RELOGIN		4	/* Disable relogin to device */
 
 enum qla4_work_type {
 	QLA4_EVENT_AEN,
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 84d9361..ee2f903 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -3583,7 +3583,9 @@ static void qla4xxx_relogin_devices(struct iscsi_cls_session *cls_session)
 		} else {
 			/* Trigger relogin */
 			if (ddb_entry->ddb_type == FLASH_DDB) {
-				if (!test_bit(DF_RELOGIN, &ddb_entry->flags))
+				if (!(test_bit(DF_RELOGIN, &ddb_entry->flags) ||
+				      test_bit(DF_DISABLE_RELOGIN,
+					       &ddb_entry->flags)))
 					qla4xxx_arm_relogin_timer(ddb_entry);
 			} else
 				iscsi_session_failure(cls_session->dd_data,
@@ -3686,6 +3688,9 @@ static void qla4xxx_dpc_relogin(struct iscsi_cls_session *cls_sess)
 	if (!(ddb_entry->ddb_type == FLASH_DDB))
 		return;
 
+	if (test_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
+		return;
+
 	if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags) &&
 	    !iscsi_is_session_online(cls_sess)) {
 		DEBUG2(ql4_printk(KERN_INFO, ha,
@@ -6014,13 +6019,6 @@ static int qla4xxx_sysfs_ddb_logout_sid(struct iscsi_cls_session *cls_sess)
 		goto exit_ddb_logout;
 	}
 
-	options = LOGOUT_OPTION_CLOSE_SESSION;
-	if (qla4xxx_session_logout_ddb(ha, ddb_entry, options) == QLA_ERROR) {
-		ql4_printk(KERN_ERR, ha, "%s: Logout failed\n", __func__);
-		ret = -EIO;
-		goto exit_ddb_logout;
-	}
-
 	fw_ddb_entry = dma_alloc_coherent(&ha->pdev->dev, sizeof(*fw_ddb_entry),
 					  &fw_ddb_entry_dma, GFP_KERNEL);
 	if (!fw_ddb_entry) {
@@ -6030,6 +6028,38 @@ static int qla4xxx_sysfs_ddb_logout_sid(struct iscsi_cls_session *cls_sess)
 		goto exit_ddb_logout;
 	}
 
+	if (test_and_set_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags))
+		goto ddb_logout_init;
+
+	ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
+				      fw_ddb_entry, fw_ddb_entry_dma,
+				      NULL, NULL, &ddb_state, NULL,
+				      NULL, NULL);
+	if (ret == QLA_ERROR)
+		goto ddb_logout_init;
+
+	if (ddb_state == DDB_DS_SESSION_ACTIVE)
+		goto ddb_logout_init;
+
+	/* wait until next relogin is triggered using DF_RELOGIN and
+	 * clear DF_RELOGIN to avoid invocation of further relogin
+	 */
+	wtime = jiffies + (HZ * RELOGIN_TOV);
+	do {
+		if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags))
+			goto ddb_logout_init;
+
+		schedule_timeout_uninterruptible(HZ);
+	} while ((time_after(wtime, jiffies)));
+
+ddb_logout_init:
+	atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
+	atomic_set(&ddb_entry->relogin_timer, 0);
+
+	options = LOGOUT_OPTION_CLOSE_SESSION;
+	qla4xxx_session_logout_ddb(ha, ddb_entry, options);
+
+	memset(fw_ddb_entry, 0, sizeof(*fw_ddb_entry));
 	wtime = jiffies + (HZ * LOGOUT_TOV);
 	do {
 		ret = qla4xxx_get_fwddb_entry(ha, ddb_entry->fw_ddb_index,
@@ -6059,10 +6089,12 @@ ddb_logout_clr_sess:
 
 	spin_lock_irqsave(&ha->hardware_lock, flags);
 	qla4xxx_free_ddb(ha, ddb_entry);
+	clear_bit(ddb_entry->fw_ddb_index, ha->ddb_idx_map);
 	spin_unlock_irqrestore(&ha->hardware_lock, flags);
 
 	iscsi_session_teardown(ddb_entry->sess);
 
+	clear_bit(DF_DISABLE_RELOGIN, &ddb_entry->flags);
 	ret = QLA_SUCCESS;
 
 exit_ddb_logout:
-- 
1.7.1



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

* [PATCH 2/7] qla4xxx: Use discovery_parent_idx instead of discovery_parent_type
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 1/7] qla4xxx: Allow removal of failed session using logout adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 3/7] qla4xxx: Set IPv6 traffic class if device type is IPv6 adheer.chandravanshi
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

While setting the values for DDB, discovery_parent_idx needs to be used
instead of discovery_parent_type.

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_os.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index ee2f903..9b25b8c 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -2262,7 +2262,7 @@ static int qla4xxx_copy_to_fwddb_param(struct iscsi_bus_flash_session *sess,
 	fw_ddb_entry->lcl_port = cpu_to_le16(conn->local_port);
 	fw_ddb_entry->stat_sn = cpu_to_le32(conn->statsn);
 	fw_ddb_entry->exp_stat_sn = cpu_to_le32(conn->exp_statsn);
-	fw_ddb_entry->ddb_link = cpu_to_le16(sess->discovery_parent_type);
+	fw_ddb_entry->ddb_link = cpu_to_le16(sess->discovery_parent_idx);
 	fw_ddb_entry->chap_tbl_idx = cpu_to_le16(sess->chap_out_idx);
 	fw_ddb_entry->tsid = cpu_to_le16(sess->tsid);
 	fw_ddb_entry->port = cpu_to_le16(conn->port);
@@ -6654,8 +6654,8 @@ qla4xxx_sysfs_ddb_set_param(struct iscsi_bus_flash_session *fnode_sess,
 			memcpy(fnode_conn->link_local_ipv6_addr,
 			       fnode_param->value, IPv6_ADDR_LEN);
 			break;
-		case ISCSI_FLASHNODE_DISCOVERY_PARENT_TYPE:
-			fnode_sess->discovery_parent_type =
+		case ISCSI_FLASHNODE_DISCOVERY_PARENT_IDX:
+			fnode_sess->discovery_parent_idx =
 						*(uint16_t *)fnode_param->value;
 			break;
 		case ISCSI_FLASHNODE_TCP_XMIT_WSF:
-- 
1.7.1



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

* [PATCH 3/7] qla4xxx: Set IPv6 traffic class if device type is IPv6.
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 1/7] qla4xxx: Allow removal of failed session using logout adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 2/7] qla4xxx: Use discovery_parent_idx instead of discovery_parent_type adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 4/7] qla4xxx: discovery_parent_idx can be shown without any check adheer.chandravanshi
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_os.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 9b25b8c..85762f7 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -2256,7 +2256,6 @@ static int qla4xxx_copy_to_fwddb_param(struct iscsi_bus_flash_session *sess,
 	fw_ddb_entry->mss = cpu_to_le16(conn->max_segment_size);
 	fw_ddb_entry->tcp_xmt_wsf = (uint8_t) cpu_to_le32(conn->tcp_xmit_wsf);
 	fw_ddb_entry->tcp_rcv_wsf = (uint8_t) cpu_to_le32(conn->tcp_recv_wsf);
-	fw_ddb_entry->ipv4_tos = conn->ipv4_tos;
 	fw_ddb_entry->ipv6_flow_lbl = cpu_to_le16(conn->ipv6_flow_label);
 	fw_ddb_entry->ka_timeout = cpu_to_le16(conn->keepalive_timeout);
 	fw_ddb_entry->lcl_port = cpu_to_le16(conn->local_port);
@@ -2269,6 +2268,11 @@ static int qla4xxx_copy_to_fwddb_param(struct iscsi_bus_flash_session *sess,
 	fw_ddb_entry->def_timeout =
 				cpu_to_le16(sess->default_taskmgmt_timeout);
 
+	if (!strncmp(sess->portal_type, PORTAL_TYPE_IPV6, 4))
+		fw_ddb_entry->ipv4_tos = conn->ipv6_traffic_class;
+	else
+		fw_ddb_entry->ipv4_tos = conn->ipv4_tos;
+
 	if (conn->ipaddress)
 		memcpy(fw_ddb_entry->ip_addr, conn->ipaddress,
 		       sizeof(fw_ddb_entry->ip_addr));
-- 
1.7.1



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

* [PATCH 4/7] qla4xxx: discovery_parent_idx can be shown without any check.
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
                   ` (2 preceding siblings ...)
  2013-07-08 12:33 ` [PATCH 3/7] qla4xxx: Set IPv6 traffic class if device type is IPv6 adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 5/7] qla4xxx: Only BIOS boot target entries should be at index 0 and 1 adheer.chandravanshi
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_os.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 85762f7..a6e4d51 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -6235,7 +6235,7 @@ qla4xxx_sysfs_ddb_get_param(struct iscsi_bus_flash_session *fnode_sess,
 	struct iscsi_bus_flash_conn *fnode_conn;
 	struct ql4_chap_table chap_tbl;
 	struct device *dev;
-	int parent_type, parent_index = 0xffff;
+	int parent_type;
 	int rc = 0;
 
 	dev = iscsi_find_flashnode_conn(fnode_sess);
@@ -6401,10 +6401,7 @@ qla4xxx_sysfs_ddb_get_param(struct iscsi_bus_flash_session *fnode_sess,
 			rc = sprintf(buf, "\n");
 		break;
 	case ISCSI_FLASHNODE_DISCOVERY_PARENT_IDX:
-		if (fnode_sess->discovery_parent_idx < MAX_DDB_ENTRIES)
-			parent_index = fnode_sess->discovery_parent_idx;
-
-		rc = sprintf(buf, "%u\n", parent_index);
+		rc = sprintf(buf, "%u\n", fnode_sess->discovery_parent_idx);
 		break;
 	case ISCSI_FLASHNODE_DISCOVERY_PARENT_TYPE:
 		if (fnode_sess->discovery_parent_type == DDB_ISNS)
-- 
1.7.1



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

* [PATCH 5/7] qla4xxx: Only BIOS boot target entries should be at index 0 and 1.
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
                   ` (3 preceding siblings ...)
  2013-07-08 12:33 ` [PATCH 4/7] qla4xxx: discovery_parent_idx can be shown without any check adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-08 12:33 ` [PATCH 6/7] qla4xxx: Export more firmware info in sysfs adheer.chandravanshi
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

Flash target index 0 and 1 are reserved for boot target entries created
with BIOS utility.

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_os.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index a6e4d51..52d01ae 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -5707,7 +5707,8 @@ static int qla4xxx_sysfs_ddb_add(struct Scsi_Host *shost, const char *buf,
 		goto exit_ddb_add;
 	}
 
-	for (idx = 0; idx < max_ddbs; idx++) {
+	/* Index 0 and 1 are reserved for boot target entries */
+	for (idx = 2; idx < max_ddbs; idx++) {
 		if (qla4xxx_flashdb_by_index(ha, fw_ddb_entry,
 					     fw_ddb_entry_dma, idx))
 			break;
-- 
1.7.1



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

* [PATCH 6/7] qla4xxx: Export more firmware info in sysfs
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
                   ` (4 preceding siblings ...)
  2013-07-08 12:33 ` [PATCH 5/7] qla4xxx: Only BIOS boot target entries should be at index 0 and 1 adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-17 17:44   ` Mike Christie
  2013-07-08 12:33 ` [PATCH 7/7] qla4xxx: Update driver version to 5.03.00-k11 adheer.chandravanshi
  2013-07-19 15:56 ` [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch Mike Christie
  7 siblings, 1 reply; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_attr.c |   86 ++++++++++++++++++++++++++++++++++-----
 drivers/scsi/qla4xxx/ql4_def.h  |    9 +---
 drivers/scsi/qla4xxx/ql4_fw.h   |    2 +-
 drivers/scsi/qla4xxx/ql4_mbx.c  |   33 ++++++++++-----
 drivers/scsi/qla4xxx/ql4_os.c   |    4 +-
 5 files changed, 105 insertions(+), 29 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_attr.c b/drivers/scsi/qla4xxx/ql4_attr.c
index 19ee55a..687c07f 100644
--- a/drivers/scsi/qla4xxx/ql4_attr.c
+++ b/drivers/scsi/qla4xxx/ql4_attr.c
@@ -158,14 +158,12 @@ qla4xxx_fw_version_show(struct device *dev,
 
 	if (is_qla80XX(ha))
 		return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d (%x)\n",
-				ha->firmware_version[0],
-				ha->firmware_version[1],
-				ha->patch_number, ha->build_number);
+				ha->fw_info.fw_major, ha->fw_info.fw_minor,
+				ha->fw_info.fw_patch, ha->fw_info.fw_build);
 	else
 		return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n",
-				ha->firmware_version[0],
-				ha->firmware_version[1],
-				ha->patch_number, ha->build_number);
+				ha->fw_info.fw_major, ha->fw_info.fw_minor,
+				ha->fw_info.fw_patch, ha->fw_info.fw_build);
 }
 
 static ssize_t
@@ -181,8 +179,8 @@ qla4xxx_iscsi_version_show(struct device *dev, struct device_attribute *attr,
 			   char *buf)
 {
 	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
-	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->iscsi_major,
-			ha->iscsi_minor);
+	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major,
+			ha->fw_info.iscsi_minor);
 }
 
 static ssize_t
@@ -191,8 +189,8 @@ qla4xxx_optrom_version_show(struct device *dev, struct device_attribute *attr,
 {
 	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
 	return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n",
-			ha->bootload_major, ha->bootload_minor,
-			ha->bootload_patch, ha->bootload_build);
+			ha->fw_info.bootload_major, ha->fw_info.bootload_minor,
+			ha->fw_info.bootload_patch, ha->fw_info.bootload_build);
 }
 
 static ssize_t
@@ -259,6 +257,63 @@ qla4xxx_hba_model_show(struct device *dev, struct device_attribute *attr,
 	return snprintf(buf, PAGE_SIZE, "%s\n", ha->model_name);
 }
 
+static ssize_t
+qla4xxx_fw_timestamp_show(struct device *dev, struct device_attribute *attr,
+			  char *buf)
+{
+	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
+	return snprintf(buf, PAGE_SIZE, "%s %s\n", ha->fw_info.fw_build_date,
+			ha->fw_info.fw_build_time);
+}
+
+static ssize_t
+qla4xxx_fw_build_user_show(struct device *dev, struct device_attribute *attr,
+			   char *buf)
+{
+	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
+	return snprintf(buf, PAGE_SIZE, "%s\n", ha->fw_info.fw_build_user);
+}
+
+static ssize_t
+qla4xxx_fw_ext_timestamp_show(struct device *dev, struct device_attribute *attr,
+			      char *buf)
+{
+	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
+	return snprintf(buf, PAGE_SIZE, "%s\n", ha->fw_info.extended_timestamp);
+}
+
+static ssize_t
+qla4xxx_fw_load_src_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
+{
+	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
+	char *load_src = NULL;
+
+	switch (ha->fw_info.fw_load_source) {
+	case 1:
+		load_src = "Flash Primary";
+		break;
+	case 2:
+		load_src = "Flash Secondary";
+		break;
+	case 3:
+		load_src = "Host Download";
+		break;
+	}
+
+	return snprintf(buf, PAGE_SIZE, "%s\n", load_src);
+}
+
+static ssize_t
+qla4xxx_fw_uptime_show(struct device *dev, struct device_attribute *attr,
+		       char *buf)
+{
+	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
+	qla4xxx_about_firmware(ha);
+	return snprintf(buf, PAGE_SIZE, "%u.%u secs\n", ha->fw_uptime_secs,
+			ha->fw_uptime_msecs);
+}
+
 static DEVICE_ATTR(fw_version, S_IRUGO, qla4xxx_fw_version_show, NULL);
 static DEVICE_ATTR(serial_num, S_IRUGO, qla4xxx_serial_num_show, NULL);
 static DEVICE_ATTR(iscsi_version, S_IRUGO, qla4xxx_iscsi_version_show, NULL);
@@ -269,6 +324,12 @@ static DEVICE_ATTR(phy_port_cnt, S_IRUGO, qla4xxx_phy_port_cnt_show, NULL);
 static DEVICE_ATTR(phy_port_num, S_IRUGO, qla4xxx_phy_port_num_show, NULL);
 static DEVICE_ATTR(iscsi_func_cnt, S_IRUGO, qla4xxx_iscsi_func_cnt_show, NULL);
 static DEVICE_ATTR(hba_model, S_IRUGO, qla4xxx_hba_model_show, NULL);
+static DEVICE_ATTR(fw_timestamp, S_IRUGO, qla4xxx_fw_timestamp_show, NULL);
+static DEVICE_ATTR(fw_build_user, S_IRUGO, qla4xxx_fw_build_user_show, NULL);
+static DEVICE_ATTR(fw_ext_timestamp, S_IRUGO, qla4xxx_fw_ext_timestamp_show,
+		   NULL);
+static DEVICE_ATTR(fw_load_src, S_IRUGO, qla4xxx_fw_load_src_show, NULL);
+static DEVICE_ATTR(fw_uptime, S_IRUGO, qla4xxx_fw_uptime_show, NULL);
 
 struct device_attribute *qla4xxx_host_attrs[] = {
 	&dev_attr_fw_version,
@@ -281,5 +342,10 @@ struct device_attribute *qla4xxx_host_attrs[] = {
 	&dev_attr_phy_port_num,
 	&dev_attr_iscsi_func_cnt,
 	&dev_attr_hba_model,
+	&dev_attr_fw_timestamp,
+	&dev_attr_fw_build_user,
+	&dev_attr_fw_ext_timestamp,
+	&dev_attr_fw_load_src,
+	&dev_attr_fw_uptime,
 	NULL,
 };
diff --git a/drivers/scsi/qla4xxx/ql4_def.h b/drivers/scsi/qla4xxx/ql4_def.h
index 50dc0c7..b0a0e93 100644
--- a/drivers/scsi/qla4xxx/ql4_def.h
+++ b/drivers/scsi/qla4xxx/ql4_def.h
@@ -735,12 +735,9 @@ struct scsi_qla_host {
 	struct iscsi_iface *iface_ipv6_1;
 
 	/* --- From About Firmware --- */
-	uint16_t iscsi_major;
-	uint16_t iscsi_minor;
-	uint16_t bootload_major;
-	uint16_t bootload_minor;
-	uint16_t bootload_patch;
-	uint16_t bootload_build;
+	struct about_fw_info fw_info;
+	uint32_t fw_uptime_secs;  /* seconds elapsed since fw bootup */
+	uint32_t fw_uptime_msecs; /* milliseconds beyond elapsed seconds */
 	uint16_t def_timeout; /* Default login timeout */
 
 	uint32_t flash_state;
diff --git a/drivers/scsi/qla4xxx/ql4_fw.h b/drivers/scsi/qla4xxx/ql4_fw.h
index c7b8892..9a46f59 100644
--- a/drivers/scsi/qla4xxx/ql4_fw.h
+++ b/drivers/scsi/qla4xxx/ql4_fw.h
@@ -955,7 +955,7 @@ struct about_fw_info {
 	uint16_t bootload_minor;	/* 46 - 47 */
 	uint16_t bootload_patch;	/* 48 - 49 */
 	uint16_t bootload_build;	/* 4A - 4B */
-	uint8_t reserved2[180];		/* 4C - FF */
+	uint8_t extended_timestamp[180];/* 4C - FF */
 };
 
 struct crash_record {
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c
index a501bea..3c18b7f 100644
--- a/drivers/scsi/qla4xxx/ql4_mbx.c
+++ b/drivers/scsi/qla4xxx/ql4_mbx.c
@@ -5,6 +5,7 @@
  * See LICENSE.qla4xxx for copyright and licensing details.
  */
 
+#include <linux/ctype.h>
 #include "ql4_def.h"
 #include "ql4_glbl.h"
 #include "ql4_dbg.h"
@@ -1270,16 +1271,28 @@ int qla4xxx_about_firmware(struct scsi_qla_host *ha)
 	}
 
 	/* Save version information. */
-	ha->firmware_version[0] = le16_to_cpu(about_fw->fw_major);
-	ha->firmware_version[1] = le16_to_cpu(about_fw->fw_minor);
-	ha->patch_number = le16_to_cpu(about_fw->fw_patch);
-	ha->build_number = le16_to_cpu(about_fw->fw_build);
-	ha->iscsi_major = le16_to_cpu(about_fw->iscsi_major);
-	ha->iscsi_minor = le16_to_cpu(about_fw->iscsi_minor);
-	ha->bootload_major = le16_to_cpu(about_fw->bootload_major);
-	ha->bootload_minor = le16_to_cpu(about_fw->bootload_minor);
-	ha->bootload_patch = le16_to_cpu(about_fw->bootload_patch);
-	ha->bootload_build = le16_to_cpu(about_fw->bootload_build);
+	ha->fw_info.fw_major = le16_to_cpu(about_fw->fw_major);
+	ha->fw_info.fw_minor = le16_to_cpu(about_fw->fw_minor);
+	ha->fw_info.fw_patch = le16_to_cpu(about_fw->fw_patch);
+	ha->fw_info.fw_build = le16_to_cpu(about_fw->fw_build);
+	memcpy(ha->fw_info.fw_build_date, about_fw->fw_build_date,
+	       sizeof(about_fw->fw_build_date));
+	memcpy(ha->fw_info.fw_build_time, about_fw->fw_build_time,
+	       sizeof(about_fw->fw_build_time));
+	strcpy((char *)ha->fw_info.fw_build_user,
+	       skip_spaces((char *)about_fw->fw_build_user));
+	ha->fw_info.fw_load_source = le16_to_cpu(about_fw->fw_load_source);
+	ha->fw_info.iscsi_major = le16_to_cpu(about_fw->iscsi_major);
+	ha->fw_info.iscsi_minor = le16_to_cpu(about_fw->iscsi_minor);
+	ha->fw_info.bootload_major = le16_to_cpu(about_fw->bootload_major);
+	ha->fw_info.bootload_minor = le16_to_cpu(about_fw->bootload_minor);
+	ha->fw_info.bootload_patch = le16_to_cpu(about_fw->bootload_patch);
+	ha->fw_info.bootload_build = le16_to_cpu(about_fw->bootload_build);
+	strcpy((char *)ha->fw_info.extended_timestamp,
+	       skip_spaces((char *)about_fw->extended_timestamp));
+
+	ha->fw_uptime_secs = le32_to_cpu(mbox_sts[5]);
+	ha->fw_uptime_msecs = le32_to_cpu(mbox_sts[6]);
 	status = QLA_SUCCESS;
 
 exit_about_fw:
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 52d01ae..14472b1 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -7220,8 +7220,8 @@ skip_retry_init:
 	       " QLogic iSCSI HBA Driver version: %s\n"
 	       "  QLogic ISP%04x @ %s, host#=%ld, fw=%02d.%02d.%02d.%02d\n",
 	       qla4xxx_version_str, ha->pdev->device, pci_name(ha->pdev),
-	       ha->host_no, ha->firmware_version[0], ha->firmware_version[1],
-	       ha->patch_number, ha->build_number);
+	       ha->host_no, ha->fw_info.fw_major, ha->fw_info.fw_minor,
+	       ha->fw_info.fw_patch, ha->fw_info.fw_build);
 
 	/* Set the driver version */
 	if (is_qla80XX(ha))
-- 
1.7.1



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

* [PATCH 7/7] qla4xxx: Update driver version to 5.03.00-k11
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
                   ` (5 preceding siblings ...)
  2013-07-08 12:33 ` [PATCH 6/7] qla4xxx: Export more firmware info in sysfs adheer.chandravanshi
@ 2013-07-08 12:33 ` adheer.chandravanshi
  2013-07-19 15:56 ` [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch Mike Christie
  7 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-07-08 12:33 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
---
 drivers/scsi/qla4xxx/ql4_version.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/qla4xxx/ql4_version.h b/drivers/scsi/qla4xxx/ql4_version.h
index c5edd0d..c085c9a 100644
--- a/drivers/scsi/qla4xxx/ql4_version.h
+++ b/drivers/scsi/qla4xxx/ql4_version.h
@@ -5,4 +5,4 @@
  * See LICENSE.qla4xxx for copyright and licensing details.
  */
 
-#define QLA4XXX_DRIVER_VERSION	"5.03.00-k10"
+#define QLA4XXX_DRIVER_VERSION	"5.03.00-k11"
-- 
1.7.1



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

* Re: [PATCH 6/7] qla4xxx: Export more firmware info in sysfs
  2013-07-08 12:33 ` [PATCH 6/7] qla4xxx: Export more firmware info in sysfs adheer.chandravanshi
@ 2013-07-17 17:44   ` Mike Christie
  2013-07-19 15:53     ` Mike Christie
  0 siblings, 1 reply; 18+ messages in thread
From: Mike Christie @ 2013-07-17 17:44 UTC (permalink / raw)
  To: adheer.chandravanshi
  Cc: jbottomley, linux-scsi, vikas.chaudhary, lalit.chandivade

On 07/08/2013 06:33 AM, adheer.chandravanshi@qlogic.com wrote:
>  static ssize_t
> @@ -181,8 +179,8 @@ qla4xxx_iscsi_version_show(struct device *dev, struct device_attribute *attr,
>  			   char *buf)
>  {
>  	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
> -	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->iscsi_major,
> -			ha->iscsi_minor);
> +	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major,
> +			ha->fw_info.iscsi_minor);
>  }

Is this the same as the iscsi max and min from the iscsi spec? If so, it
should be a iscsi host setting.


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

* Re: [PATCH 6/7] qla4xxx: Export more firmware info in sysfs
  2013-07-17 17:44   ` Mike Christie
@ 2013-07-19 15:53     ` Mike Christie
  0 siblings, 0 replies; 18+ messages in thread
From: Mike Christie @ 2013-07-19 15:53 UTC (permalink / raw)
  To: adheer.chandravanshi
  Cc: jbottomley, linux-scsi, vikas.chaudhary, lalit.chandivade

On 07/17/2013 11:44 AM, Mike Christie wrote:
> On 07/08/2013 06:33 AM, adheer.chandravanshi@qlogic.com wrote:
>>  static ssize_t
>> @@ -181,8 +179,8 @@ qla4xxx_iscsi_version_show(struct device *dev, struct device_attribute *attr,
>>  			   char *buf)
>>  {
>>  	struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev));
>> -	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->iscsi_major,
>> -			ha->iscsi_minor);
>> +	return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major,
>> +			ha->fw_info.iscsi_minor);
>>  }
> 
> Is this the same as the iscsi max and min from the iscsi spec? If so, it
> should be a iscsi host setting.
> 

Ignore this comment.


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

* Re: [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
  2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
                   ` (6 preceding siblings ...)
  2013-07-08 12:33 ` [PATCH 7/7] qla4xxx: Update driver version to 5.03.00-k11 adheer.chandravanshi
@ 2013-07-19 15:56 ` Mike Christie
  7 siblings, 0 replies; 18+ messages in thread
From: Mike Christie @ 2013-07-19 15:56 UTC (permalink / raw)
  To: adheer.chandravanshi
  Cc: jbottomley, linux-scsi, vikas.chaudhary, lalit.chandivade

On 07/08/2013 06:33 AM, adheer.chandravanshi@qlogic.com wrote:
> From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
> 
> James,
> 
> Please apply the following patches to the scsi tree at your earliest
> convenience.
> 
> Adheer Chandravanshi (7):
> 	qla4xxx: Allow removal of failed session using logout.
> 	qla4xxx: Use discovery_parent_idx instead of discovery_parent_type
> 	qla4xxx: Set IPv6 traffic class if device type is IPv6.
> 	qla4xxx: discovery_parent_idx can be shown without any check.
> 	qla4xxx: Only BIOS boot target entries should be at index 0 and 1.
> 	qla4xxx: Export more firmware info in sysfs
> 	qla4xxx: Update driver version to 5.03.00-k11
> 


Ignore my comment on that one patch. Patches look ok.

Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>


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

* Re: [PATCH 1/7] qla4xxx: Allow removal of failed session using logout.
  2013-07-08 12:33 ` [PATCH 1/7] qla4xxx: Allow removal of failed session using logout adheer.chandravanshi
@ 2013-08-23 19:32   ` James Bottomley
  2013-08-27 12:28     ` Adheer Chandravanshi
  0 siblings, 1 reply; 18+ messages in thread
From: James Bottomley @ 2013-08-23 19:32 UTC (permalink / raw)
  To: adheer.chandravanshi@qlogic.com
  Cc: michaelc@cs.wisc.edu, linux-scsi@vger.kernel.org,
	vikas.chaudhary@qlogic.com, lalit.chandivade@qlogic.com

On Mon, 2013-07-08 at 08:33 -0400, adheer.chandravanshi@qlogic.com
wrote:
> +       /* wait until next relogin is triggered using DF_RELOGIN and
> +        * clear DF_RELOGIN to avoid invocation of further relogin
> +        */
> +       wtime = jiffies + (HZ * RELOGIN_TOV);
> +       do {
> +               if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags))
> +                       goto ddb_logout_init;
> +
> +               schedule_timeout_uninterruptible(HZ);
> +       } while ((time_after(wtime, jiffies)));

This looks a bit like a hand rolled wait_event_timeout() couldn't you
use the linux primitives?

James


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

* RE: [PATCH 1/7] qla4xxx: Allow removal of failed session using logout.
  2013-08-23 19:32   ` James Bottomley
@ 2013-08-27 12:28     ` Adheer Chandravanshi
  0 siblings, 0 replies; 18+ messages in thread
From: Adheer Chandravanshi @ 2013-08-27 12:28 UTC (permalink / raw)
  To: James Bottomley
  Cc: michaelc@cs.wisc.edu, linux-scsi, Vikas Chaudhary,
	Lalit Chandivade

[-- Attachment #1: Type: text/plain, Size: 1114 bytes --]

James,

Thanks for pointing this out. We will send the fix for this in the next patch-set.

--
Adheer

> -----Original Message-----
> From: James Bottomley [mailto:jbottomley@parallels.com]
> Sent: Saturday, August 24, 2013 1:03 AM
> To: Adheer Chandravanshi
> Cc: michaelc@cs.wisc.edu; linux-scsi; Vikas Chaudhary; Lalit Chandivade
> Subject: Re: [PATCH 1/7] qla4xxx: Allow removal of failed session using
> logout.
> 
> On Mon, 2013-07-08 at 08:33 -0400, adheer.chandravanshi@qlogic.com
> wrote:
> > +       /* wait until next relogin is triggered using DF_RELOGIN and
> > +        * clear DF_RELOGIN to avoid invocation of further relogin
> > +        */
> > +       wtime = jiffies + (HZ * RELOGIN_TOV);
> > +       do {
> > +               if (test_and_clear_bit(DF_RELOGIN, &ddb_entry->flags))
> > +                       goto ddb_logout_init;
> > +
> > +               schedule_timeout_uninterruptible(HZ);
> > +       } while ((time_after(wtime, jiffies)));
> 
> This looks a bit like a hand rolled wait_event_timeout() couldn't you use the
> linux primitives?
> 
> James


[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 4659 bytes --]

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

* [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch
@ 2013-09-17 11:54 adheer.chandravanshi
  0 siblings, 0 replies; 18+ messages in thread
From: adheer.chandravanshi @ 2013-09-17 11:54 UTC (permalink / raw)
  To: jbottomley, michaelc
  Cc: linux-scsi, vikas.chaudhary, lalit.chandivade,
	Adheer Chandravanshi

From: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>

James,

Please apply the following patches to the scsi tree at your earliest convenience.

These patches are on top of other qla4xxx patch posted on list here:
http://marc.info/?l=linux-scsi&m=137941920702034&w=2

Adheer Chandravanshi (7):
  qla4xxx: Correct the check for local CHAP entry type
  qla4xxx: Support setting of local CHAP index for flash target entry
  qla4xxx: Populate local CHAP credentials for flash target sessions
  qla4xxx: Use offset based on adapter type to set CHAP entry in flash
  scsi_transport_iscsi: Add support to set CHAP entries
  qla4xxx: Add support to set CHAP entries
  qla4xxx: Add support to get CHAP details for flash target session

Thanks,
Adheer


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

end of thread, other threads:[~2013-09-17 12:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-08 12:33 [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch adheer.chandravanshi
2013-07-08 12:33 ` [PATCH 1/7] qla4xxx: Allow removal of failed session using logout adheer.chandravanshi
2013-08-23 19:32   ` James Bottomley
2013-08-27 12:28     ` Adheer Chandravanshi
2013-07-08 12:33 ` [PATCH 2/7] qla4xxx: Use discovery_parent_idx instead of discovery_parent_type adheer.chandravanshi
2013-07-08 12:33 ` [PATCH 3/7] qla4xxx: Set IPv6 traffic class if device type is IPv6 adheer.chandravanshi
2013-07-08 12:33 ` [PATCH 4/7] qla4xxx: discovery_parent_idx can be shown without any check adheer.chandravanshi
2013-07-08 12:33 ` [PATCH 5/7] qla4xxx: Only BIOS boot target entries should be at index 0 and 1 adheer.chandravanshi
2013-07-08 12:33 ` [PATCH 6/7] qla4xxx: Export more firmware info in sysfs adheer.chandravanshi
2013-07-17 17:44   ` Mike Christie
2013-07-19 15:53     ` Mike Christie
2013-07-08 12:33 ` [PATCH 7/7] qla4xxx: Update driver version to 5.03.00-k11 adheer.chandravanshi
2013-07-19 15:56 ` [PATCH 0/7] qla4xxx: Updates for scsi "misc" branch Mike Christie
  -- strict thread matches above, loose matches on Subject: below --
2013-09-17 11:54 adheer.chandravanshi
2012-10-10 11:24 vikas.chaudhary
2012-10-10 16:08 ` Michael Christie
2012-11-13 13:34   ` James Bottomley
2012-11-16  5:50     ` Lalit Chandivade

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).