marcel 2e6099f494 Fix interrupt handling. It started off broken and grew worse over time.
The rewrite of the interrupt handler includes:
o   loop until all pending interrupts are handled. This closes a
    race condition.
o   count the number of interrupt sources we handled so that we can
    properly return FILTER_HANDLED or FILTER_STRAY when we break out
    of the loop.
o   When matching the interrupt source to the devices that have that
    source pending, check only from the set of devices we found to
    have a pending interrupt.

PR:		kern/140947
MFC after:	3 days
2009-12-11 03:08:07 +00:00
..
2009-11-16 21:47:12 +00:00
2009-10-11 01:51:35 +00:00
2009-05-13 22:31:25 +00:00
2009-10-28 15:22:58 +00:00
2009-09-14 21:33:00 +00:00
2009-11-18 18:48:18 +00:00
2009-11-11 20:29:40 +00:00
2009-09-16 23:27:14 +00:00
2009-12-01 22:23:15 +00:00
2009-10-30 18:30:13 +00:00
2009-11-25 13:31:17 +00:00
2009-02-05 19:37:49 +00:00
2009-06-24 20:43:51 +00:00
2009-06-21 19:17:22 +00:00
2009-06-05 18:44:36 +00:00
2009-10-24 09:55:11 +00:00
2009-04-14 11:23:09 +00:00
2009-11-02 18:15:11 +00:00
2009-06-14 00:15:26 +00:00
2009-09-06 10:27:45 +00:00
2009-05-25 22:50:11 +00:00
2009-02-05 19:37:49 +00:00
2009-08-23 08:04:40 +00:00
2009-12-11 00:38:13 +00:00
2009-12-11 02:52:14 +00:00
2009-11-19 19:35:15 +00:00
2009-11-08 02:33:33 +00:00