b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | --- a/drivers/irqchip/irq-bcm6345-periph.c |
| 2 | +++ b/drivers/irqchip/irq-bcm6345-periph.c |
| 3 | @@ -52,7 +52,7 @@ static void bcm6345_periph_irq_handle(st |
| 4 | { |
| 5 | struct intc_data *data = irq_desc_get_handler_data(desc); |
| 6 | struct irq_chip *chip = irq_desc_get_chip(desc); |
| 7 | - struct intc_block *block; |
| 8 | + struct intc_block *block = NULL; |
| 9 | unsigned int irq = irq_desc_get_irq(desc); |
| 10 | unsigned int idx; |
| 11 | |
| 12 | @@ -62,7 +62,7 @@ static void bcm6345_periph_irq_handle(st |
| 13 | if (irq == data->block[idx].parent_irq) |
| 14 | block = &data->block[idx]; |
| 15 | |
| 16 | - for (idx = 0; idx < data->num_words; idx++) { |
| 17 | + for (idx = 0; block && idx < data->num_words; idx++) { |
| 18 | int base = idx * IRQS_PER_WORD; |
| 19 | unsigned long pending; |
| 20 | int hw_irq; |