patch-2.4.0-test12 linux/arch/mips64/mm/fault.c
Next file: linux/arch/mips64/mm/loadmmu.c
Previous file: linux/arch/mips64/mm/andes.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Tue Nov 28 21:42:04 2000
- Orig file:
v2.4.0-test11/linux/arch/mips64/mm/fault.c
- Orig date:
Sun Jul 9 22:18:16 2000
diff -u --recursive --new-file v2.4.0-test11/linux/arch/mips64/mm/fault.c linux/arch/mips64/mm/fault.c
@@ -57,6 +57,19 @@
printk("Got exception 0x%lx at 0x%lx\n", retaddr, regs.cp0_epc);
}
+extern spinlock_t console_lock, timerlist_lock;
+
+/*
+ * Unlock any spinlocks which will prevent us from getting the
+ * message out (timerlist_lock is aquired through the
+ * console unblank code)
+ */
+void bust_spinlocks(void)
+{
+ spin_lock_init(&console_lock);
+ spin_lock_init(&timerlist_lock);
+}
+
/*
* This routine handles page faults. It determines the address,
* and the problem, and then passes it off to one of the appropriate
@@ -181,6 +194,9 @@
* Oops. The kernel tried to access some bad page. We'll have to
* terminate things with extreme prejudice.
*/
+
+ bust_spinlocks();
+
printk(KERN_ALERT "Cpu %d Unable to handle kernel paging request at "
"address %08lx, epc == %08x, ra == %08x\n",
smp_processor_id(), address, (unsigned int) regs->cp0_epc,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)