--- zzzz-none-000/linux-2.4.17/include/asm-arm/mmu_context.h 2000-09-18 22:15:24.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/include/asm-arm/mmu_context.h 2004-11-24 13:21:35.000000000 +0000 @@ -42,6 +42,10 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk, unsigned int cpu) { +#ifdef CONFIG_PREEMPT + if (preempt_is_disabled() == 0) + BUG(); +#endif if (prev != next) { cpu_switch_mm(next->pgd, tsk); clear_bit(cpu, &prev->cpu_vm_mask);