Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40316c1f authored by Jesper Nilsson's avatar Jesper Nilsson
Browse files

CRIS v10: Fix bug where error returns didn't restore irqs in mm/fault.c

Don't return when we're inside local_irq_disable(), use goto exit instead.
Also, cleanup some whitespace errors.
parent 5712e4df
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
 *  Low level bus fault handler
 *
 *
 *  Copyright (C) 2000, 2001  Axis Communications AB
 *  Copyright (C) 2000-2007  Axis Communications AB
 *
 *  Authors:  Bjorn Wesen
 *
@@ -84,12 +84,13 @@ handle_mmu_bus_fault(struct pt_regs *regs)
	local_irq_disable();
	pmd = (pmd_t *)(pgd + pgd_index(address));
	if (pmd_none(*pmd))
		return;
		goto exit;
	pte = *pte_offset_kernel(pmd, address);
	if (!pte_present(pte))
		return;
		goto exit;
	*R_TLB_SELECT = select;
	*R_TLB_HI = cause;
	*R_TLB_LO = pte_val(pte);
exit:
	local_irq_restore(flags);
}