[PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support
From: Thomas Gleixner <hidden>
Date: 2016-09-13 15:23:59
Also in:
linux-devicetree, linux-gpio, lkml
From: Thomas Gleixner <hidden>
Date: 2016-09-13 15:23:59
Also in:
linux-devicetree, linux-gpio, lkml
On Fri, 9 Sep 2016, Alexandre TORGUE wrote:
+static void stm32_exti_free(struct irq_domain *d, unsigned int virq,
+ unsigned int nr_irqs)
+{
+ struct irq_data *data = irq_get_irq_data(virq);
+
+ irq_gc_mask_clr_bit(data->parent_data);I have a hard time to understand this. The irq domain is not hierarchical.
+ irq_domain_reset_irq_data(data);
+ domain = irq_domain_add_linear(node, nr_exti, + &irq_exti_domain_ops, NULL);
It's a simple linear domain. So how can data->parent_data be a valid irq_data pointer? Answer: It can't! But it doesn't blow up in your face simply because the alloc/free callbacks are never invoked for simple non hierarchical domains. So you should have removed that stuff after copying some other irqchip driver. Thanks, tglx