aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKamenee Arumugam <kamenee.arumugam@intel.com>2017-09-26 09:06:15 -0400
committerDoug Ledford <dledford@redhat.com>2017-09-27 11:10:36 -0400
commit09592af5fdd722615ebe435fb34308de26c74bcf (patch)
tree6527afcca4e989b42578cb08e8b52adcebe2b224
parent753b19afb19dd97d0767df5e8afb13faff605315 (diff)
IB/hfi1: Return correct value in general interrupt handler
The general interrupt handler returns IRQ_HANDLED whether an IRQ was handled or not. Determine if an IRQ was handled and return the correct value. Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: Kamenee Arumugam <kamenee.arumugam@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/infiniband/hw/hfi1/chip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c
index 27b75a8f5097..0be42787759f 100644
--- a/drivers/infiniband/hw/hfi1/chip.c
+++ b/drivers/infiniband/hw/hfi1/chip.c
@@ -8240,6 +8240,7 @@ static irqreturn_t general_interrupt(int irq, void *data)
8240 u64 regs[CCE_NUM_INT_CSRS]; 8240 u64 regs[CCE_NUM_INT_CSRS];
8241 u32 bit; 8241 u32 bit;
8242 int i; 8242 int i;
8243 irqreturn_t handled = IRQ_NONE;
8243 8244
8244 this_cpu_inc(*dd->int_counter); 8245 this_cpu_inc(*dd->int_counter);
8245 8246
@@ -8260,9 +8261,10 @@ static irqreturn_t general_interrupt(int irq, void *data)
8260 for_each_set_bit(bit, (unsigned long *)&regs[0], 8261 for_each_set_bit(bit, (unsigned long *)&regs[0],
8261 CCE_NUM_INT_CSRS * 64) { 8262 CCE_NUM_INT_CSRS * 64) {
8262 is_interrupt(dd, bit); 8263 is_interrupt(dd, bit);
8264 handled = IRQ_HANDLED;
8263 } 8265 }
8264 8266
8265 return IRQ_HANDLED; 8267 return handled;
8266} 8268}
8267 8269
8268static irqreturn_t sdma_interrupt(int irq, void *data) 8270static irqreturn_t sdma_interrupt(int irq, void *data)