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

Commit aeb747af authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Russell King
Browse files

[ARM] 4661/1: fix do_undefinstr wrt the enabling of IRQs



The lock is acquired with spin_lock_irqsave() and released in the
not-found case with spin_unlock_irqrestore().

Signed-off-by: default avatarNicolas Pitre <nico@marvell.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent dc49cb21
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -327,7 +327,7 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
		if ((instr & hook->instr_mask) == hook->instr_val &&
		if ((instr & hook->instr_mask) == hook->instr_val &&
		    (regs->ARM_cpsr & hook->cpsr_mask) == hook->cpsr_val) {
		    (regs->ARM_cpsr & hook->cpsr_mask) == hook->cpsr_val) {
			if (hook->fn(regs, instr) == 0) {
			if (hook->fn(regs, instr) == 0) {
				spin_unlock_irq(&undef_lock);
				spin_unlock_irqrestore(&undef_lock, flags);
				return;
				return;
			}
			}
		}
		}