Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2018-10-12 12:14:58 +0200
committerHannes Reinecke <hare@suse.de>2018-10-12 12:40:41 +0200
commit2832917e890eb903aa77147901a49d0db06390dd (patch)
tree2030be3d7c82b4d2c75a5b88036d7baabd65e169
parent875b04ae7a89c5684bf82e807a7520426527b7ee (diff)
scsi: qla2xxx: Fix recursive mailbox timeout (bsc#1108870).
-rw-r--r--patches.fixes/scsi-qla2xxx-Fix-recursive-mailbox-timeout.patch40
-rw-r--r--series.conf1
2 files changed, 41 insertions, 0 deletions
diff --git a/patches.fixes/scsi-qla2xxx-Fix-recursive-mailbox-timeout.patch b/patches.fixes/scsi-qla2xxx-Fix-recursive-mailbox-timeout.patch
new file mode 100644
index 0000000000..fffc09e44c
--- /dev/null
+++ b/patches.fixes/scsi-qla2xxx-Fix-recursive-mailbox-timeout.patch
@@ -0,0 +1,40 @@
+From: Quinn Tran <quinn.tran@cavium.com>
+Date: Wed, 26 Sep 2018 22:05:16 -0700
+Subject: [PATCH] scsi: qla2xxx: Fix recursive mailbox timeout
+Git-commit: 710bc78f829d014eca95ed7ccc4052bc064b1320
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git
+Patch-mainline: Queued in subsystem maintainer repository
+References: bsc#1108870
+
+This patch prevents user space mailbox request from doing chip reset if the
+mailbox timed out. The chip reset is only reserved for the DPC thread to
+ensure all mailbox requests are flushed properly. The DPC thread is
+responsible for the flushing all MBs and chip reset.
+
+Fixes: b2000805a975 ("scsi: qla2xxx: Flush mailbox commands on chip reset")
+Cc: <stable@ger.kernel.org>
+Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
+Reviewed-by: Ewan D. Milne <emilne@redhat.com>
+Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Acked-by: Hannes Reinecke <hare@suse.com>
+---
+ drivers/scsi/qla2xxx/qla_mbx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
+index e016ee9c6d8e..bd8c86aeccc2 100644
+--- a/drivers/scsi/qla2xxx/qla_mbx.c
++++ b/drivers/scsi/qla2xxx/qla_mbx.c
+@@ -518,7 +518,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
+ set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
+ qla2xxx_wake_dpc(vha);
+ }
+- } else if (!abort_active) {
++ } else if (current == ha->dpc_thread) {
+ /* call abort directly since we are in the DPC thread */
+ ql_dbg(ql_dbg_mbx, vha, 0x101d,
+ "Timeout, calling abort_isp.\n");
+--
+2.16.4
+
diff --git a/series.conf b/series.conf
index d244e3c58b..b3af08363a 100644
--- a/series.conf
+++ b/series.conf
@@ -17926,6 +17926,7 @@
patches.fixes/scsi-qla2xxx-Fix-duplicate-switch-database-entries.patch
patches.fixes/scsi-qla2xxx-Fix-re-using-LoopID-when-handle-is-in-u.patch
patches.fixes/scsi-qla2xxx-Fix-driver-hang-when-FC-NVMe-LUNs-are-c.patch
+ patches.fixes/scsi-qla2xxx-Fix-recursive-mailbox-timeout.patch
# git://git.infradead.org/nvme.git nvme-4.20
patches.fixes/nvme_fc-add-nvme_discovery-sysfs-attribute-to-fc-tra.patch