X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=include%2Fasm-sparc64%2Fmmu_context.h;h=9fc225ed5500d20c5372653389d8783ffc49ef4b;hb=f9166e736e516a4b1de16577b5428afd0cffe325;hp=2337eb48771908ca86f94a1a5d4cba3d42c0e43d;hpb=dcc1e8dd88d4bc55e32a26dad7633d20ffe606d2;p=linux-2.6-omap-h63xx.git diff --git a/include/asm-sparc64/mmu_context.h b/include/asm-sparc64/mmu_context.h index 2337eb48771..9fc225ed550 100644 --- a/include/asm-sparc64/mmu_context.h +++ b/include/asm-sparc64/mmu_context.h @@ -9,6 +9,7 @@ #include #include #include +#include static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) { @@ -75,6 +76,9 @@ static inline void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, str unsigned long ctx_valid, flags; int cpu; + if (unlikely(mm == &init_mm)) + return; + spin_lock_irqsave(&mm->context.lock, flags); ctx_valid = CTX_VALID(mm->context); if (!ctx_valid)