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.
This commit is contained in:
parent
5712e4dfc6
commit
40316c1fad
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue