Re: [PATCH] scsi/ipr: Fix runaway IRQs when falling back from MSI to LSI

2016-11-30 Thread Martin K. Petersen
> "Brian" == Brian King  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!

-- 
Martin K. Petersen  Oracle Linux Engineering


Re: [PATCH] scsi/ipr: Fix runaway IRQs when falling back from MSI to LSI

2016-11-30 Thread Brian King

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

8<
From: Benjamin Herrenschmidt 

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 
Signed-off-by: Brian King 
---

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

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_isr2016-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;
_



Re: [PATCH] scsi/ipr: Fix runaway IRQs when falling back from MSI to LSI

2016-11-29 Thread Martin K. Petersen
> "Benjamin" == Benjamin Herrenschmidt  writes:

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

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

Brian: Please review!

-- 
Martin K. Petersen  Oracle Linux Engineering


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

2016-11-23 Thread Benjamin Herrenschmidt
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 
---
 drivers/scsi/ipr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 5324741..5dd3194 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -10213,6 +10213,7 @@ static int ipr_probe_ioa(struct pci_dev *pdev,
}
 
ioa_cfg->intr_flag = IPR_USE_LSI;
+   ioa_cfg->clear_isr = 1;
ioa_cfg->nvectors = 1;
}
else if (rc)