diff options
Diffstat (limited to 'drivers/irqchip')
-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; |