projects
/
wrapfs-5.3.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a9ca74e
)
scsi: qla2xxx: Fix hang in fcport delete path
author
Quinn Tran
<qutran@marvell.com>
Fri, 26 Jul 2019 16:07:38 +0000
(09:07 -0700)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 19:08:25 +0000
(20:08 +0100)
[ Upstream commit
f00b3428a801758243693e046b34226e92bc56b3
]
A hang was observed in the fcport delete path when the device was
responding slow and an issue-lip path (results in session termination) was
taken.
Fix this by issuing logo requests unconditionally.
PID: 19491 TASK:
ffff8e23e67bb150
CPU: 0 COMMAND: "kworker/0:0"
#0 [
ffff8e2370297bf8
] __schedule at
ffffffffb4f7dbb0
#1 [
ffff8e2370297c88
] schedule at
ffffffffb4f7e199
#2 [
ffff8e2370297c98
] schedule_timeout at
ffffffffb4f7ba68
#3 [
ffff8e2370297d40
] msleep at
ffffffffb48ad9ff
#4 [
ffff8e2370297d58
] qlt_free_session_done at
ffffffffc0c32052
[qla2xxx]
#5 [
ffff8e2370297e20
] process_one_work at
ffffffffb48bcfdf
#6 [
ffff8e2370297e68
] worker_thread at
ffffffffb48bdca6
#7 [
ffff8e2370297ec8
] kthread at
ffffffffb48c4f81
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_init.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/qla2xxx/qla_init.c
b/drivers/scsi/qla2xxx/qla_init.c
index 2c617a34ae1e7f82938bec15c95e8f32575bf5d8..2f39ed9c66d64c9e1462b5b1ee41c85f11e1b2f8 100644
(file)
--- a/
drivers/scsi/qla2xxx/qla_init.c
+++ b/
drivers/scsi/qla2xxx/qla_init.c
@@
-396,9
+396,6
@@
qla2x00_async_logout(struct scsi_qla_host *vha, fc_port_t *fcport)
struct srb_iocb *lio;
int rval = QLA_FUNCTION_FAILED;
- if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT))
- return rval;
-
fcport->flags |= FCF_ASYNC_SENT;
sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
if (!sp)