Sorry that left out the hard irq part. Of course it needs to do the
PCI level masking in the primary one.
The oneshot magic should work on non threaded cases as well. Needs
some modifications, but nothing complex.
No, that's really just a corner case when going from one to two
handlers and I don't think it matters much. If you setup a new driver
it's not really important whether that first thing comes in a few ms
later.
Also there is a pretty simple solution for this: The core code knows,
that there is an ONESHOT interrupt in flight, so it simply can call
the primary handler of that device with the appropriate flag set
(maybe an additional one to indicate the transition) and let that deal
with it. Needs some thought vs. locking and races, but that shouldn't
be hard.
See above.
Thanks,
tglx
--