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)
committerSasha Levin <alexander.levin@verizon.com>
Tue, 19 Jul 2016 17:34:38 +0000 (13:34 -0400)
[ Upstream commit 54e430bbd490e18ab116afa4cd90dcc45787b3df ]

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: Sasha Levin <alexander.levin@verizon.com>
drivers/scsi/ipr.c

index cccab6188328fad053b6e6cc43063fd181f98954..cd52c070701b8e622cdd4c9df4e85831ea9990c7 100644 (file)
@@ -9966,6 +9966,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");
        }