lkml.org 
[lkml]   [2007]   [Nov]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH PREEMPT_RT]: On AT91 ARM: GPIO Interrupt handling can/will stall forever
    Hello Daniel,

    > * Note: The caller is expected to handle the ack, clear, mask and
    > * unmask issues if necessary.
    > So we shouldn't need any flow control unless there is some other
    > factors..

    This comment can be misinterpreted, I think. Who is assumed to be the
    caller in this context? The 2 other routines in the driver that
    actually do the unmasking stuff besides only calling this routine? Is
    it allowed to call it directly or should it always be done through a
    wrapper that does all these special things?

    Either way, only masking interrupts, and never unmasking it, is a bug.
    If interrupts come and go slow enough you never run into this problem,
    and if this type is not used often, nobody will notice it.
    Usually interrupts needs clearence of the source before the hardware
    can generate a new one. GPIO interrupts are different, they are
    generated whenever a IO-level changes, there is no acknowledge or
    clearing of the interupt needed. These types of interrupts are never
    'pending' from hardware point of view. So, with these type of
    interrupts, a new one can occur while the interrupt handler has not
    handled the previous one yet, and therefor these interrupt-types will
    show this bug.

    >
    > Additionally, we have a patch in the real time tree called
    > "irq-mask-fix.patch" which adds an "unmask" to handle_simple_irq, but as
    > the note says we don't need flow control..

    You mean the Montavista real time tree?

    Kind Regards,

    Remy
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-28 15:41    [W:0.022 / U:0.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site