Blame SOURCES/0100-scsi-scsi-qla2xxx-Fix-hardlockup-in-abort-command-du.patch

3c6e85
From 5937da964b5dc63f0934a6fb9f44506d3c29b846 Mon Sep 17 00:00:00 2001
3c6e85
From: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Date: Thu, 1 Aug 2019 15:56:00 -0400
3c6e85
Subject: [PATCH 100/124] [scsi] scsi: qla2xxx: Fix hardlockup in abort command
3c6e85
 during driver remove
3c6e85
3c6e85
Message-id: <20190801155618.12650-101-hmadhani@redhat.com>
3c6e85
Patchwork-id: 267871
3c6e85
O-Subject: [RHEL 7.8 e-stor PATCH 100/118] scsi: qla2xxx: Fix hardlockup in abort command during driver remove
3c6e85
Bugzilla: 1729270
3c6e85
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
3c6e85
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
3c6e85
3c6e85
From: Arun Easi <aeasi@marvell.com>
3c6e85
3c6e85
Bugzilla 1729270
3c6e85
3c6e85
[436194.555537] NMI watchdog: Watchdog detected hard LOCKUP on cpu 5
3c6e85
[436194.555558] RIP: 0010:native_queued_spin_lock_slowpath+0x63/0x1e0
3c6e85
3c6e85
[436194.555563] Call Trace:
3c6e85
[436194.555564]  _raw_spin_lock_irqsave+0x30/0x40
3c6e85
[436194.555564]  qla24xx_async_abort_command+0x29/0xd0 [qla2xxx]
3c6e85
[436194.555565]  qla24xx_abort_command+0x208/0x2d0 [qla2xxx]
3c6e85
[436194.555565]  __qla2x00_abort_all_cmds+0x16b/0x290 [qla2xxx]
3c6e85
[436194.555565]  qla2x00_abort_all_cmds+0x42/0x60 [qla2xxx]
3c6e85
[436194.555566]  qla2x00_abort_isp_cleanup+0x2bd/0x3a0 [qla2xxx]
3c6e85
[436194.555566]  qla2x00_remove_one+0x1ad/0x360 [qla2xxx]
3c6e85
[436194.555566]  pci_device_remove+0x3b/0xb0
3c6e85
3c6e85
Fixes: 219d27d7147e (scsi: qla2xxx: Fix race conditions in the code for aborting SCSI commands)
3c6e85
Cc: stable@vger.kernel.org # 5.2
3c6e85
Signed-off-by: Arun Easi <aeasi@marvell.com>
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
3c6e85
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
3c6e85
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
3c6e85
(cherry picked from commit 5589b08e5be47e426158f659a892153b4a831921)
3c6e85
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
3c6e85
Signed-off-by: Jan Stancek <jstancek@redhat.com>
3c6e85
---
3c6e85
 drivers/scsi/qla2xxx/qla_os.c | 2 +-
3c6e85
 1 file changed, 1 insertion(+), 1 deletion(-)
3c6e85
3c6e85
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
3c6e85
index a3159a9a4c3e..f3200e25d1e7 100644
3c6e85
--- a/drivers/scsi/qla2xxx/qla_os.c
3c6e85
+++ b/drivers/scsi/qla2xxx/qla_os.c
3c6e85
@@ -1777,8 +1777,8 @@ static void qla2x00_abort_srb(struct qla_qpair *qp, srb_t *sp, const int res,
3c6e85
 	     !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
3c6e85
 	     !qla2x00_isp_reg_stat(ha))) {
3c6e85
 		sp->comp = ∁
3c6e85
-		rval = ha->isp_ops->abort_command(sp);
3c6e85
 		spin_unlock_irqrestore(qp->qp_lock_ptr, *flags);
3c6e85
+		rval = ha->isp_ops->abort_command(sp);
3c6e85
 
3c6e85
 		switch (rval) {
3c6e85
 		case QLA_SUCCESS:
3c6e85
-- 
3c6e85
2.13.6
3c6e85