diff options
author | Manish Rangankar <manish.rangankar@qlogic.com> | 2011-10-07 16:55:47 -0700 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-10-16 11:10:27 -0500 |
commit | 98270ab45c0a5e533f253f04e0b617c98b5a6259 (patch) | |
tree | 30843b0c7a04c4a0d4000cffa957a152f08b31d4 /drivers/scsi/qla4xxx/ql4_os.c | |
parent | 736cf369c9a514a9ed596e97375c49ef1fdf920a (diff) |
[SCSI] qla4xxx: Fixed session destroy issue on link up-down.
During link down, iscsid tries to do re-login to failed session. In case of
link down-up-down, LLD was sending connection login failed event to iscsid,
which is destroying the session, instead we have to continue re-login by
sending connection err event.
JIRA Key: UPSISCSI-134
Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | 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 bea78a7f6bc..af83e6f3fe6 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c @@ -1158,7 +1158,11 @@ static int qla4xxx_conn_start(struct iscsi_cls_conn *cls_conn) goto exit_conn_start; } - ddb_entry->fw_ddb_device_state = DDB_DS_LOGIN_IN_PROCESS; + if (ddb_entry->fw_ddb_device_state == DDB_DS_NO_CONNECTION_ACTIVE) + ddb_entry->fw_ddb_device_state = DDB_DS_LOGIN_IN_PROCESS; + + DEBUG2(printk(KERN_INFO "%s: DDB state [%d]\n", __func__, + ddb_entry->fw_ddb_device_state)); exit_set_param: iscsi_conn_start(cls_conn); |