CVSROOT: /cvs Module name: src Changes by: kette...@cvs.openbsd.org 2009/07/30 08:50:20
Modified files: sys/arch/hppa/hppa: intr.c Log message: Disable interrupts when we enter cpu_intr() and enable them again when leaving that function. It seems this function was intended to be called with interrupts disabled but that is not (no longer?) the case. As a result there were some races accessing the list of interrupt handlers and we would leave the function with interrupts disabled if there were any interrupts pending. This could make us end up in the idle loop with interrupts disabled, which would "hang" the machine. Found with help from deraadt@