Blame SOURCES/0112-scsi-scsi-qla2xxx-Fix-hang-in-fcport-delete-path.patch

3c6e85
From 6b2393ab0eedcb1489fe9cb61e15aa3f0198776d Mon Sep 17 00:00:00 2001
3c6e85
From: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Date: Thu, 1 Aug 2019 15:56:12 -0400
3c6e85
Subject: [PATCH 112/124] [scsi] scsi: qla2xxx: Fix hang in fcport delete path
3c6e85
3c6e85
Message-id: <20190801155618.12650-113-hmadhani@redhat.com>
3c6e85
Patchwork-id: 267893
3c6e85
O-Subject: [RHEL 7.8 e-stor PATCH 112/118] scsi: qla2xxx: Fix hang in fcport delete path
3c6e85
Bugzilla: 1729270
3c6e85
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
3c6e85
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
3c6e85
3c6e85
From: Quinn Tran <qutran@marvell.com>
3c6e85
3c6e85
Bugzilla 1729270
3c6e85
3c6e85
A hang was observed in the fcport delete path when the device was
3c6e85
responding slow and an issue-lip path (results in session termination) was
3c6e85
taken.
3c6e85
3c6e85
Fix this by issuing logo requests unconditionally.
3c6e85
3c6e85
PID: 19491  TASK: ffff8e23e67bb150  CPU: 0   COMMAND: "kworker/0:0"
3c6e85
 #0 [ffff8e2370297bf8] __schedule at ffffffffb4f7dbb0
3c6e85
 #1 [ffff8e2370297c88] schedule at ffffffffb4f7e199
3c6e85
 #2 [ffff8e2370297c98] schedule_timeout at ffffffffb4f7ba68
3c6e85
 #3 [ffff8e2370297d40] msleep at ffffffffb48ad9ff
3c6e85
 #4 [ffff8e2370297d58] qlt_free_session_done at ffffffffc0c32052 [qla2xxx]
3c6e85
 #5 [ffff8e2370297e20] process_one_work at ffffffffb48bcfdf
3c6e85
 #6 [ffff8e2370297e68] worker_thread at ffffffffb48bdca6
3c6e85
 #7 [ffff8e2370297ec8] kthread at ffffffffb48c4f81
3c6e85
3c6e85
Signed-off-by: Quinn Tran <qutran@marvell.com>
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
3c6e85
(cherry picked from commit b6398873de637972204b9bac4bd5d32683161c80)
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Signed-off-by: Jan Stancek <jstancek@redhat.com>
3c6e85
---
3c6e85
 drivers/scsi/qla2xxx/qla_init.c | 3 ---
3c6e85
 1 file changed, 3 deletions(-)
3c6e85
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
3c6e85
index d37704f64046..fc8e886ebb43 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_init.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_init.c
3c6e85
@@ -286,9 +286,6 @@ qla2x00_async_logout(struct scsi_qla_host *vha, fc_port_t *fcport)
3c6e85
 	struct srb_iocb *lio;
3c6e85
 	int rval = QLA_FUNCTION_FAILED;
3c6e85
 
3c6e85
-	if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT))
3c6e85
-		return rval;
3c6e85
-
3c6e85
 	fcport->flags |= FCF_ASYNC_SENT;
3c6e85
 	sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
3c6e85
 	if (!sp)
3c6e85
-- 
3c6e85
2.13.6
3c6e85