]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - arch/arm/mm/fault.c
Apply preempt_rt patch-4.9-rt1.patch.xz
[zynq/linux.git] / arch / arm / mm / fault.c
index 3a2e678b8d30cabfb058fd82bb1d3336e3dab02d..3ed1e9ba6a0167dc46be45636afaa6274b34d061 100644 (file)
@@ -430,6 +430,9 @@ do_translation_fault(unsigned long addr, unsigned int fsr,
        if (addr < TASK_SIZE)
                return do_page_fault(addr, fsr, regs);
 
+       if (interrupts_enabled(regs))
+               local_irq_enable();
+
        if (user_mode(regs))
                goto bad_area;
 
@@ -497,6 +500,9 @@ do_translation_fault(unsigned long addr, unsigned int fsr,
 static int
 do_sect_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 {
+       if (interrupts_enabled(regs))
+               local_irq_enable();
+
        do_bad_area(addr, fsr, regs);
        return 0;
 }