[lkml]   [2010]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectPending interrupts not always replayed

    From reading the code (kernel/irq stuffs), it seems that at least some
    handle_edge_irq based interrupts are not replayed when enabling if
    desc->chip->retrigger == NULL and on a platform where
    CONFIG_HARDIRQS_SW_RESEND is not set (which for now is only defined for
    (some?) arm and avr32). Depending on the pic this problem might
    be masked if multiple interrupts are received between disable_irq and
    enable_irq (maybe other conditions exist with controllers i don't know).

    I happen to program a PPC SoC (MPC8555E to be precise), using some edge
    interrupts on the PortC of the CPM2 pic (arch/powerpc/sysdev/cpm2_pic.c)
    in a driver that does some enable_irq/disable_irq while various
    patterns of interrupts are received and i think i've hit the problem.

    Is the behavior intended (not always replaying edge triggered interrupts)
    or is it just a bug to fix?

    Anybody knows if it's safe to activate CONFIG_HARDIRQS_SW_RESEND for a
    powerpc or are there some known dangerous interactions?
    (I'll give it a try on my side in the meantime anyway)

    Guillaume Knispel

     \ /
      Last update: 2010-04-18 05:47    [W:0.018 / U:1.668 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site