From 5283bfb64e403d971bcb0718521a4ffe6cc24f5b Mon Sep 17 00:00:00 2001 From: Manish Rangankar Date: Fri, 7 Oct 2011 16:55:48 -0700 Subject: [PATCH] [SCSI] qla4xxx: Fixed device blocked issue on link up-down. Devices are getting blocked during continuous link up and down. Solution is, during relogin unblock the session, using iscsi_conn_start, before sending connection logged in event. JIRA Key: UPSISCSI-138 Signed-off-by: Manish Rangankar Signed-off-by: Vikas Chaudhary Reviewed-by: Mike Christie Signed-off-by: James Bottomley --- drivers/scsi/qla4xxx/ql4_init.c | 2 ++ drivers/scsi/qla4xxx/ql4_os.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index cc10bacd1e18..3075fbaef553 100644 --- a/drivers/scsi/qla4xxx/ql4_init.c +++ b/drivers/scsi/qla4xxx/ql4_init.c @@ -900,6 +900,7 @@ int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index, switch (state) { case DDB_DS_SESSION_ACTIVE: case DDB_DS_DISCOVERY: + iscsi_conn_start(ddb_entry->conn); iscsi_conn_login_event(ddb_entry->conn, ISCSI_CONN_STATE_LOGGED_IN); qla4xxx_update_session_conn_param(ha, ddb_entry); @@ -935,6 +936,7 @@ int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index, switch (state) { case DDB_DS_SESSION_ACTIVE: case DDB_DS_DISCOVERY: + iscsi_conn_start(ddb_entry->conn); iscsi_conn_login_event(ddb_entry->conn, ISCSI_CONN_STATE_LOGGED_IN); qla4xxx_update_session_conn_param(ha, ddb_entry); diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index af83e6f3fe6f..205ecaf5438b 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -1165,7 +1165,6 @@ static int qla4xxx_conn_start(struct iscsi_cls_conn *cls_conn) ddb_entry->fw_ddb_device_state)); exit_set_param: - iscsi_conn_start(cls_conn); ret = 0; exit_conn_start: -- 2.34.1