diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index eb3e2b112a0dfb332c814fedfe5b49d33c0a8b68..1268392f1d2786bc3abb91fdb9a88ad84fa85ec9 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -130,6 +130,11 @@ asmlinkage __cpuinit void start_secondary(void)
 
 	synchronise_count_slave();
 
+	/*
+	 * irq will be enabled in ->smp_finish(), enabling it too early
+	 * is dangerous.
+	 */
+	WARN_ON_ONCE(!irqs_disabled());
 	mp_ops->smp_finish();
 
 	cpu_idle();