aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_os.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 89460d27c689..f55b9f7d9396 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -298,8 +298,7 @@ void qla4xxx_destroy_sess(struct ddb_entry *ddb_entry)
298 return; 298 return;
299 299
300 if (ddb_entry->conn) { 300 if (ddb_entry->conn) {
301 iscsi_if_destroy_session_done(ddb_entry->conn); 301 atomic_set(&ddb_entry->state, DDB_STATE_DEAD);
302 iscsi_destroy_conn(ddb_entry->conn);
303 iscsi_remove_session(ddb_entry->sess); 302 iscsi_remove_session(ddb_entry->sess);
304 } 303 }
305 iscsi_free_session(ddb_entry->sess); 304 iscsi_free_session(ddb_entry->sess);
@@ -309,6 +308,7 @@ int qla4xxx_add_sess(struct ddb_entry *ddb_entry)
309{ 308{
310 int err; 309 int err;
311 310
311 ddb_entry->sess->recovery_tmo = ddb_entry->ha->port_down_retry_count;
312 err = iscsi_add_session(ddb_entry->sess, ddb_entry->fw_ddb_index); 312 err = iscsi_add_session(ddb_entry->sess, ddb_entry->fw_ddb_index);
313 if (err) { 313 if (err) {
314 DEBUG2(printk(KERN_ERR "Could not add session.\n")); 314 DEBUG2(printk(KERN_ERR "Could not add session.\n"));
@@ -321,9 +321,6 @@ int qla4xxx_add_sess(struct ddb_entry *ddb_entry)
321 DEBUG2(printk(KERN_ERR "Could not add connection.\n")); 321 DEBUG2(printk(KERN_ERR "Could not add connection.\n"));
322 return -ENOMEM; 322 return -ENOMEM;
323 } 323 }
324
325 ddb_entry->sess->recovery_tmo = ddb_entry->ha->port_down_retry_count;
326 iscsi_if_create_session_done(ddb_entry->conn);
327 return 0; 324 return 0;
328} 325}
329 326