diff mbox

scsi/ipr: Fix runaway IRQs when falling back from MSI to LSI

Message ID 683a1049-2ff3-2777-b908-062212008ae4@linux.vnet.ibm.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Brian King Nov. 30, 2016, 9:28 p.m. UTC
Looks good. Thanks! Here is an updated version that should apply
cleanly on top of scsi-next.

8<
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

LSIs must be ack'ed with an MMIO otherwise they remain asserted
forever. This is controlled by the "clear_isr" flag.

While we set that flag properly when deciding initially whether
to use LSIs or MSIs, we fail to set it if we first chose MSIs,
the test fails, then fallback to LSIs.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
---

 drivers/scsi/ipr.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Martin K. Petersen Dec. 1, 2016, 12:58 a.m. UTC | #1
>>>>> "Brian" == Brian King <brking@linux.vnet.ibm.com> writes:

Brian> Looks good. Thanks! Here is an updated version that should apply
Brian> cleanly on top of scsi-next.

Applied to 4.10/scsi-queue. Thanks!
diff mbox

Patch

diff -puN drivers/scsi/ipr.c~ipr_misx_fail_intx_clear_isr drivers/scsi/ipr.c
--- scsi/drivers/scsi/ipr.c~ipr_misx_fail_intx_clear_isr	2016-11-29 20:56:27.902534325 -0600
+++ scsi-bjking1/drivers/scsi/ipr.c	2016-11-29 20:56:50.645538533 -0600
@@ -10157,6 +10157,7 @@  static int ipr_probe_ioa(struct pci_dev
 			pci_free_irq_vectors(pdev);
 
 			ioa_cfg->nvectors = 1;
+			ioa_cfg->clear_isr = 1;
 			break;
 		default:
 			goto out_msi_disable;