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
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);
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];
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;