qla2xxx: drop cmds/tmrs arrived while session is being deleted
authorAlexei Potashnik <alexei@purestorage.com>
Tue, 14 Jul 2015 20:00:48 +0000 (16:00 -0400)
committerSasha Levin <sasha.levin@oracle.com>
Tue, 23 Feb 2016 15:04:44 +0000 (10:04 -0500)
commit772d56fecb6dde547473cf7b556f457555897da7
tree1d80debf986114c33defc70fae6e9d0d98044eb7
parentf89ace487f87aa90b7426ec94872cc38ee11fd1e
qla2xxx: drop cmds/tmrs arrived while session is being deleted

[ Upstream commit e52a8b45b9c782937f74b701f8c656d4e5619eb5 ]

If a new initiator (different WWN) shows up on the same fcport, old
initiator's session is scheduled for deletion. But there is a small
window between it being marked with QLA_SESS_DELETION_IN_PROGRESS
and qlt_unret_sess getting called when new session's commands will
keep finding old session in the fcport map.

This patch drops cmds/tmrs if they find session in the progress of
being deleted.

Cc: <stable@vger.kernel.org> # v3.18+
Signed-off-by: Alexei Potashnik <alexei@purestorage.com>
Acked-by: Quinn Tran <quinn.tran@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/scsi/qla2xxx/qla_target.c