On Tue, 2012-03-13 at 17:20 -0400, Jörn Engel wrote: > Signed-off-by: Joern Engel <joern@xxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_target.c | 12 ++++-------- > 1 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c > index 29f02e8..55e2acf 100644 > --- a/drivers/scsi/qla2xxx/qla_target.c > +++ b/drivers/scsi/qla2xxx/qla_target.c > @@ -3946,8 +3946,7 @@ static void qla_tgt_abort_work(struct qla_tgt *tgt, > struct qla_tgt_sess *sess = NULL; > unsigned long flags; > uint32_t be_s_id; > - uint8_t *s_id = NULL; /* to hide compiler warnings */ > - uint8_t local_s_id[3]; > + uint8_t s_id[3]; > int rc; > > spin_lock_irqsave(&ha->hardware_lock, flags); > @@ -3962,16 +3961,10 @@ static void qla_tgt_abort_work(struct qla_tgt *tgt, > sess = ha->tgt_ops->find_sess_by_s_id(vha, > (unsigned char *)&be_s_id); > if (!sess) { > - s_id = local_s_id; > s_id[0] = prm->abts.fcp_hdr_le.s_id[2]; > s_id[1] = prm->abts.fcp_hdr_le.s_id[1]; > s_id[2] = prm->abts.fcp_hdr_le.s_id[0]; > - } > > - if (sess) { > - ql_dbg(ql_dbg_tgt_mgt, vha, 0xe14c, "sess %p found\n", sess); > - kref_get(&sess->se_sess->sess_kref); > - } else { > spin_unlock_irqrestore(&ha->hardware_lock, flags); > > mutex_lock(&ha->tgt_mutex); > @@ -3983,6 +3976,9 @@ static void qla_tgt_abort_work(struct qla_tgt *tgt, > > if (!sess) > goto out_term; > + } else { > + ql_dbg(ql_dbg_tgt_mgt, vha, 0xe14c, "sess %p found\n", sess); > + kref_get(&sess->se_sess->sess_kref); > } > > if (tgt->tgt_stop) This patch is slightly out of date wrt to what's in lio-core. Fixed this up, and applying the following patch: diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 9115b71..e415d1e 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -3954,8 +3954,7 @@ static void qla_tgt_abort_work(struct qla_tgt *tgt, struct qla_tgt_sess *sess = NULL; unsigned long flags; uint32_t be_s_id; - uint8_t *s_id = NULL; /* to hide compiler warnings */ - uint8_t local_s_id[3]; + uint8_t s_id[3]; int rc; spin_lock_irqsave(&ha->hardware_lock, flags); @@ -3963,17 +3962,13 @@ static void qla_tgt_abort_work(struct qla_tgt *tgt, if (tgt->tgt_stop) goto out_term; - be_s_id = (prm->abts.fcp_hdr_le.s_id[0] << 16) | - (prm->abts.fcp_hdr_le.s_id[1] << 8) | - prm->abts.fcp_hdr_le.s_id[2]; + s_id[0] = prm->abts.fcp_hdr_le.s_id[2]; + s_id[1] = prm->abts.fcp_hdr_le.s_id[1]; + s_id[2] = prm->abts.fcp_hdr_le.s_id[0]; sess = ha->tgt_ops->find_sess_by_s_id(vha, (unsigned char *)&be_s_id); if (!sess) { - s_id = local_s_id; - s_id[0] = prm->abts.fcp_hdr_le.s_id[2]; - s_id[1] = prm->abts.fcp_hdr_le.s_id[1]; - s_id[2] = prm->abts.fcp_hdr_le.s_id[0]; spin_unlock_irqrestore(&ha->hardware_lock, flags); mutex_lock(&ha->tgt_mutex); -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html