Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935292AbcKXAYd (ORCPT ); Wed, 23 Nov 2016 19:24:33 -0500 Received: from gate.crashing.org ([63.228.1.57]:49545 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933573AbcKXAYb (ORCPT ); Wed, 23 Nov 2016 19:24:31 -0500 Message-ID: <1479947042.10230.88.camel@kernel.crashing.org> Subject: [PATCH] scsi/ipr: Fix runaway IRQs when falling back from MSI to LSI From: Benjamin Herrenschmidt To: linux-scsi@vger.kernel.org Cc: "linux-kernel@vger.kernel.org" , linuxppc dev list , Brian King Date: Thu, 24 Nov 2016 11:24:02 +1100 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 739 Lines: 24 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)