further to my email yesterday (to which i've had no response :) i propose the attached patch to arch/i386/kernel/irq.c. it corrects what i see as a bug in interrupt handling. currently if a driver requests SA_INTERRUPT in an interrupt handler, it is only called with interrupts disabled if it is the first handler in the list. my patch modifies setup_irq to put any interrupt with SA_INTERRUPT in the front of the handler queue (eg before any handlers without the flag). and also modifies handle_IRQ_event to only enable interrupts when it hits the first handler with SA_INTERRUPT not set. the patch is against 2.5.62 and greatly improves stability on my SMP system. james