Skip to contentSkip to conversation

Patch "scsi: qla2xxx: Fix Regression introduced by pci_alloc_irq_vectors_affinity call." has been added to the 4.10-stable tree

PATCH [email protected] 1 participant 1 message Mar 8, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

scsi: qla2xxx: Fix Regression introduced by pci_alloc_irq_vectors_affinity call.

to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
scsi-qla2xxx-fix-regression-introduced-by-pci_alloc_irq_vectors_affinity-call.patch
and it can be found in the queue-4.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 67f2db8792f96d8f7521461635d25f9c80245d80 Mon Sep 17 00:00:00 2001

From: Michael Hernandez <[email protected]>
Date: Wed, 15 Feb 2017 15:37:21 -0800
Subject: scsi: qla2xxx: Fix Regression introduced by pci_alloc_irq_vectors_affinity call.

From: Michael Hernandez <[email protected]>

commit 67f2db8792f96d8f7521461635d25f9c80245d80 upstream.

For target mode, we need to increase minimum vectors value by one to account for ATIO queue.

Following stack trace will be seen

Call Trace:
qla24xx_config_rings+0x15a/0x230 [qla2xxx]
qla2x00_init_rings+0x1a1/0x3a0 [qla2xxx]
qla2x00_restart_isp+0x5c/0x120 [qla2xxx]
qla2x00_abort_isp+0x138/0x430 [qla2xxx]
? __schedule+0x260/0x580
qla2x00_do_dpc+0x3bc/0x920 [qla2xxx]
? qla2x00_relogin+0x290/0x290 [qla2xxx]
? schedule+0x3a/0xa0
? qla2x00_relogin+0x290/0x290 [qla2xxx]
kthread+0x103/0x140
? __kthread_init_worker+0x40/0x40
ret_from_fork+0x29/0x40

RIP: qlt_24xx_config_rings+0x6c/0x90

[mkp: fixed Fixes: hash]

Fixes 17e5fc58588b ("scsi: qla2xxx: fix MSI-X vector affinity")
---
 drivers/scsi/qla2xxx/qla_isr.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
drivers/scsi/qla2xxx/qla_isr.c +5 -2
@@ -3013,14 +3013,17 @@ qla24xx_enable_msix(struct qla_hw_data *
 	int i, ret;
 	struct qla_msix_entry *qentry;
 	scsi_qla_host_t *vha = pci_get_drvdata(ha->pdev);
+	int min_vecs = QLA_BASE_VECTORS;
 	struct irq_affinity desc = {
 		.pre_vectors = QLA_BASE_VECTORS,
 	};
 
-	if (QLA_TGT_MODE_ENABLED() && IS_ATIO_MSIX_CAPABLE(ha))
+	if (QLA_TGT_MODE_ENABLED() && IS_ATIO_MSIX_CAPABLE(ha)) {
 		desc.pre_vectors++;
+		min_vecs++;
+	}
 
-	ret = pci_alloc_irq_vectors_affinity(ha->pdev, QLA_BASE_VECTORS,
+	ret = pci_alloc_irq_vectors_affinity(ha->pdev, min_vecs,
 			ha->msix_count, PCI_IRQ_MSIX | PCI_IRQ_AFFINITY,
 			&desc);
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.10/scsi-qla2xxx-cleaned-up-queue-configuration-code.patch queue-4.10/scsi-qla2xxx-fix-regression-introduced-by-pci_alloc_irq_vectors_affinity-call.patch queue-4.10/scsi-qla2xxx-fix-response-queue-count-for-target-mode.patch