PCI: pciehp: Return IRQ_NONE when we can't read interrupt status
authorBjorn Helgaas <bhelgaas@google.com>
Thu, 8 Sep 2016 21:43:40 +0000 (16:43 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 14 Sep 2016 19:24:25 +0000 (14:24 -0500)
After 1469d17dd341 ("PCI: pciehp: Handle invalid data when reading from
non-existent devices"), we returned IRQ_HANDLED when we failed to read
interrupt status from the bridge.  I think it's better to return IRQ_NONE,
as we do in other cases where there's no interrupt pending.  This will
facilitate refactoring the loop in pcie_isr(): we'll be able to call the
ISR in a loop as long as it returns IRQ_HANDLED.

Return IRQ_NONE if we couldn't read interrupt status.

Tested-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/pci/hotplug/pciehp_hpc.c

index 264df360444cab50876408d6d9ab0ad573397288..b8efe1bbc4f41a67c3d64724cc1adacb768eb484 100644 (file)
@@ -561,7 +561,7 @@ static irqreturn_t pcie_isr(int irq, void *dev_id)
                if (status == (u16) ~0) {
                        ctrl_info(ctrl, "%s: no response from device\n",
                                  __func__);
-                       return IRQ_HANDLED;
+                       return IRQ_NONE;
                }
 
                /*