diff options
author | Kamenee Arumugam <kamenee.arumugam@intel.com> | 2017-09-26 09:06:15 -0400 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-09-27 11:10:36 -0400 |
commit | 09592af5fdd722615ebe435fb34308de26c74bcf (patch) | |
tree | 6527afcca4e989b42578cb08e8b52adcebe2b224 | |
parent | 753b19afb19dd97d0767df5e8afb13faff605315 (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.c | 4 |
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 *)®s[0], | 8261 | for_each_set_bit(bit, (unsigned long *)®s[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 | ||
8268 | static irqreturn_t sdma_interrupt(int irq, void *data) | 8270 | static irqreturn_t sdma_interrupt(int irq, void *data) |