interrupts are now working properly from within kernel