diff mbox series

[V2,1/2] scsi: ufs: Fix interrupt error message for shared interrupts

Message ID 20200811133936.19171-1-adrian.hunter@intel.com (mailing list archive)
State Mainlined
Commit 6337f58cec030b34ced435b3d9d7d29d63c96e36
Headers show
Series [V2,1/2] scsi: ufs: Fix interrupt error message for shared interrupts | expand

Commit Message

Adrian Hunter Aug. 11, 2020, 1:39 p.m. UTC
The interrupt might be shared, in which case it is not an error for the
interrupt handler to be called when the interrupt status is zero, so
don't print the message unless there was enabled interrupt status.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: 9333d77573485 ("scsi: ufs: Fix irq return code")
---
 drivers/scsi/ufs/ufshcd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Avri Altman Aug. 11, 2020, 1:49 p.m. UTC | #1
> 
> The interrupt might be shared, in which case it is not an error for the
> interrupt handler to be called when the interrupt status is zero, so
> don't print the message unless there was enabled interrupt status.
> 
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
> Fixes: 9333d77573485 ("scsi: ufs: Fix irq return code")
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Martin K. Petersen Aug. 18, 2020, 3:12 a.m. UTC | #2
On Tue, 11 Aug 2020 16:39:35 +0300, Adrian Hunter wrote:

> The interrupt might be shared, in which case it is not an error for the
> interrupt handler to be called when the interrupt status is zero, so
> don't print the message unless there was enabled interrupt status.

Applied to 5.9/scsi-fixes, thanks!

[1/2] scsi: ufs: Fix interrupt error message for shared interrupts
      https://git.kernel.org/mkp/scsi/c/6337f58cec03
[2/2] scsi: ufs: Improve interrupt handling for shared interrupts
      https://git.kernel.org/mkp/scsi/c/127d5f7c4b65
diff mbox series

Patch

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index cdcf56679b41..bb2543010af9 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -5994,7 +5994,7 @@  static irqreturn_t ufshcd_intr(int irq, void *__hba)
 		intr_status = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
 	} while (intr_status && --retries);
 
-	if (retval == IRQ_NONE) {
+	if (enabled_intr_status && retval == IRQ_NONE) {
 		dev_err(hba->dev, "%s: Unhandled interrupt 0x%08x\n",
 					__func__, intr_status);
 		ufshcd_dump_regs(hba, 0, UFSHCI_REG_SPACE_SIZE, "host_regs: ");