Commit b46e34a6 authored by Roland Dreier's avatar Roland Dreier Committed by Nicholas Bellinger

qla2xxx: Get rid of redundant qla_tgt_sess.tearing_down

The only place that sets qla_tgt_sess.tearing_down calls
target_splice_sess_cmd_list() immediately afterwards, without dropping
the lock it holds.  That function sets se_session.sess_tearing_down,
so we can get rid of the qla_target-specific flag, and in the one
place that looks at the qla_tgt_sess.tearing_down flag just test
se_session.sess_tearing_down instead.

Cc: Chad Dupuis <chad.dupuis@qlogic.com>
Cc: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 77d4c745
...@@ -2644,7 +2644,7 @@ static void qlt_do_work(struct work_struct *work) ...@@ -2644,7 +2644,7 @@ static void qlt_do_work(struct work_struct *work)
sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha, sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha,
atio->u.isp24.fcp_hdr.s_id); atio->u.isp24.fcp_hdr.s_id);
if (sess) { if (sess) {
if (unlikely(sess->tearing_down)) { if (unlikely(sess->se_sess->sess_tearing_down)) {
sess = NULL; sess = NULL;
spin_unlock_irqrestore(&ha->hardware_lock, flags); spin_unlock_irqrestore(&ha->hardware_lock, flags);
goto out_term; goto out_term;
......
...@@ -813,7 +813,6 @@ struct qla_tgt_sess { ...@@ -813,7 +813,6 @@ struct qla_tgt_sess {
unsigned int conf_compl_supported:1; unsigned int conf_compl_supported:1;
unsigned int deleted:1; unsigned int deleted:1;
unsigned int local:1; unsigned int local:1;
unsigned int tearing_down:1;
struct se_session *se_sess; struct se_session *se_sess;
struct scsi_qla_host *vha; struct scsi_qla_host *vha;
......
...@@ -464,7 +464,6 @@ static int tcm_qla2xxx_shutdown_session(struct se_session *se_sess) ...@@ -464,7 +464,6 @@ static int tcm_qla2xxx_shutdown_session(struct se_session *se_sess)
vha = sess->vha; vha = sess->vha;
spin_lock_irqsave(&vha->hw->hardware_lock, flags); spin_lock_irqsave(&vha->hw->hardware_lock, flags);
sess->tearing_down = 1;
target_splice_sess_cmd_list(se_sess); target_splice_sess_cmd_list(se_sess);
spin_unlock_irqrestore(&vha->hw->hardware_lock, flags); spin_unlock_irqrestore(&vha->hw->hardware_lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment