aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/bcm63xx/patches-5.4/324-irqchip-bcm6345-periph-fix-block-uninitialized.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/324-irqchip-bcm6345-periph-fix-block-uninitialized.patch b/target/linux/bcm63xx/patches-5.4/324-irqchip-bcm6345-periph-fix-block-uninitialized.patch
new file mode 100644
index 0000000000..60a645e1bf
--- /dev/null
+++ b/target/linux/bcm63xx/patches-5.4/324-irqchip-bcm6345-periph-fix-block-uninitialized.patch
@@ -0,0 +1,20 @@
+--- a/drivers/irqchip/irq-bcm6345-periph.c
++++ b/drivers/irqchip/irq-bcm6345-periph.c
+@@ -52,7 +52,7 @@ static void bcm6345_periph_irq_handle(st
+ {
+ struct intc_data *data = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+- struct intc_block *block;
++ struct intc_block *block = NULL;
+ unsigned int irq = irq_desc_get_irq(desc);
+ unsigned int idx;
+
+@@ -62,7 +62,7 @@ static void bcm6345_periph_irq_handle(st
+ if (irq == data->block[idx].parent_irq)
+ block = &data->block[idx];
+
+- for (idx = 0; idx < data->num_words; idx++) {
++ for (idx = 0; block && idx < data->num_words; idx++) {
+ int base = idx * IRQS_PER_WORD;
+ unsigned long pending;
+ int hw_irq;