diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index b5645c4462cffa95f5887d2cf8b8c9cfcbd2e4a1..1d50d2b98f55a6a0d2835e506c94e6c06dfda0c4 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -710,7 +710,8 @@ int setup_irq(unsigned int irq, struct irqaction *new) desc->pending = 0; desc->disable_depth = 1; - if (new->flags & SA_TRIGGER_MASK) { + if (new->flags & SA_TRIGGER_MASK && + desc->chip->set_type) { unsigned int type = new->flags & SA_TRIGGER_MASK; desc->chip->set_type(irq, type); }