diff options
| -rw-r--r-- | drivers/irqchip/irq-crossbar.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c index 4be30c00f041..a39cb316d2b0 100644 --- a/drivers/irqchip/irq-crossbar.c +++ b/drivers/irqchip/irq-crossbar.c | |||
| @@ -58,7 +58,7 @@ static inline int get_prev_map_irq(int cb_no) | |||
| 58 | { | 58 | { |
| 59 | int i; | 59 | int i; |
| 60 | 60 | ||
| 61 | for (i = 0; i < cb->int_max; i++) | 61 | for (i = cb->int_max - 1; i >= 0; i--) |
| 62 | if (cb->irq_map[i] == cb_no) | 62 | if (cb->irq_map[i] == cb_no) |
| 63 | return i; | 63 | return i; |
| 64 | 64 | ||
| @@ -69,7 +69,7 @@ static inline int allocate_free_irq(int cb_no) | |||
| 69 | { | 69 | { |
| 70 | int i; | 70 | int i; |
| 71 | 71 | ||
| 72 | for (i = 0; i < cb->int_max; i++) { | 72 | for (i = cb->int_max - 1; i >= 0; i--) { |
| 73 | if (cb->irq_map[i] == IRQ_FREE) { | 73 | if (cb->irq_map[i] == IRQ_FREE) { |
| 74 | cb->irq_map[i] = cb_no; | 74 | cb->irq_map[i] = cb_no; |
| 75 | return i; | 75 | return i; |
