Browse Source

arm64: Enable interrupts before calling do_notify_resume()

task_work_run() implementation had the side effect of enabling
interrupts. With commit ac3d0da8 (task_work: Make task_work_add()
lockless), interrupts are no longer enabled revealing the bug in the
arch code. This patch enables the interrupt explicitly before calling
do_notify_resume().

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Catalin Marinas 12 years ago
parent
commit
6916fd086f
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/arm64/kernel/entry.S

+ 1 - 0
arch/arm64/kernel/entry.S

@@ -583,6 +583,7 @@ work_pending:
 	mov	x0, sp				// 'regs'
 	tst	x2, #PSR_MODE_MASK		// user mode regs?
 	b.ne	no_work_pending			// returning to kernel
+	enable_irq				// enable interrupts for do_notify_resume()
 	bl	do_notify_resume
 	b	ret_to_user
 work_resched: