ipr: Clear interrupt on croc/crocodile when running with LSI
authorBrian King <brking@linux.vnet.ibm.com>
Mon, 27 Jun 2016 14:09:40 +0000 (09:09 -0500)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:13:50 +0000 (13:13 +0000)
commit 54e430bbd490e18ab116afa4cd90dcc45787b3df upstream.

If we fall back to using LSI on the Croc or Crocodile chip we need to
clear the interrupt so we don't hang the system.

Cc: <stable@vger.kernel.org>
Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/scsi/ipr.c

index 25ac2c00f8b306055013c130fafe9daa801be50b..2891faa8e384749ca7ea98f20f0a60f1e55c6761 100644 (file)
@@ -9607,6 +9607,7 @@ static int ipr_probe_ioa(struct pci_dev *pdev,
                ioa_cfg->intr_flag = IPR_USE_MSI;
        else {
                ioa_cfg->intr_flag = IPR_USE_LSI;
+               ioa_cfg->clear_isr = 1;
                ioa_cfg->nvectors = 1;
                dev_info(&pdev->dev, "Cannot enable MSI.\n");
        }