The syscall handler code does an STI at the very begining in handle_sys. Can someone explain why that is needed. I am trying to debug a problem in my mips kernel with compressed ramdisks and I was using something like cli(); gunzip(); sti(); in the compressed ramdisk code and I could still see the timer interrupts being raised while gunzip was uncompressing. I suspected the STI in the syscall handler code. Removing the STI fixes the problem. The RESTORE_SP_AND_RET will reset the interrupts so I do not see why the STI is needed, but I am wary of any potential disastrous side effects of removing the STI. The code is as follows - from arch/mips/kernel/scall_o32.S NESTED(handle_sys,PT_SIZE,sp) .set noat SAVE_SOME STI * * Any help would be appreciated. Thanks Ranjan