|
@@ -456,6 +456,9 @@ int __irq_set_trigger(struct irq_desc *desc, unsigned int irq,
|
|
|
/* note that IRQF_TRIGGER_MASK == IRQ_TYPE_SENSE_MASK */
|
|
/* note that IRQF_TRIGGER_MASK == IRQ_TYPE_SENSE_MASK */
|
|
|
desc->status &= ~(IRQ_LEVEL | IRQ_TYPE_SENSE_MASK);
|
|
desc->status &= ~(IRQ_LEVEL | IRQ_TYPE_SENSE_MASK);
|
|
|
desc->status |= flags;
|
|
desc->status |= flags;
|
|
|
|
|
+
|
|
|
|
|
+ if (chip != desc->chip)
|
|
|
|
|
+ irq_chip_set_defaults(desc->chip);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
return ret;
|