linux 2.6.21.7 mips xlr 732 configured with 32bits system I found that when an cpu/cache error was triggered by an unaligned access , printk does not work well in the cache error handler. printk hangs on spin_lock(&logbuf_lock), further more , the code was located exactly to : spin_lock -- > _raw_spin_trylock -->asm( " sc %2, %1" ) include/asm-mips/spinlock.h If ' sc ' instruction unavailable when cache error occured?