Hi, >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) Cheers! -- Guillaume Knispel _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev