On 10/03/2011 12:29 PM, vikas.chaudhary@xxxxxxxxxx wrote: > From: Manish Rangankar <manish.rangankar@xxxxxxxxxx> > > Devices are getting blocked during continuous link up and down. Solution is, > during relogin unblock the session before sending connection logged in event. > > JIRA Key: UPSISCSI-138 > > Signed-off-by: Manish Rangankar <manish.rangankar@xxxxxxxxxx> > Signed-off-by: Vikas Chaudhary <vikas.chaudhary@xxxxxxxxxx> > --- > drivers/scsi/qla4xxx/ql4_init.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c > index cc10bac..e07d99b 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_unblock_session(ddb_entry->sess); Shouldn't this alreadu get done when start_conn callback is called? Is the problem that start_conn is getting called when login is started and not when we are actually logged in (when we get the logged in event below)? The start_conn callback use looks wrong right now for qla4xxx. user/initiator.c:setup_offload_login_phase() will call it when we are only in_login. It should only be called when we are logged_in, because it will unlbock the devices, update the iscsi session state and could start IO before the driver is ready. > iscsi_conn_login_event(ddb_entry->conn, > ISCSI_CONN_STATE_LOGGED_IN); > qla4xxx_update_session_conn_param(ha, ddb_entry); -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html