diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | 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 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 | ||