Hi Kevin,
> Have you actually seen this happen (outside of inducing it manually)? I
> have some concern that by doing this we may either miss interrupts on
> devices that send a lot (by design) or miss a design bug in a system
> because we are masking out some interrupts. I know that system
> stability is important, but I don't like hiding problems.
Yes, in a customer project. A simple pushbutton which connects a pulled-up
gpio pin to ground. Push it, instant hang (handler called over and over
again) when it is not debounced. With a single edge and a much lower
edge-frequency it obviously works fine (see timer).
(And, handle_edge_irq() _does_ call mask_ack() after all).
Best regards,
Manuel Lauss
> =Kevin
>
> On Tue, 2009-01-20 at 11:03 +0100, Manuel Lauss wrote:
> > Introduce separate mack_ack callbacks which really do shut up the
> > edge-triggered irqs when called. Without this change, high-frequency
> > edge interrupts can result in an endless irq storm, hanging the system.
> >
> > This can be easily triggered for example by setting an irq to falling
> > edge type and manually connecting the associated pin to ground.
> >
|