[IA64] fix interrupt masking for pending works on kernel leave
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Fri, 9 May 2008 06:26:35 +0000 (15:26 +0900)
committerTony Luck <tony.luck@intel.com>
Wed, 14 May 2008 22:55:35 +0000 (15:55 -0700)
commit3633c7308005e8c1dab594f69ef904424f8b639a
tree0e215ec13d73a86d70da3f721adab14e7f4a510a
parentf13ae30e1397e3bfb38feb3b6e889af5d021f13d
[IA64] fix interrupt masking for pending works on kernel leave

[Bug-fix for "[BUG?][2.6.25-mm1] sleeping during IRQ disabled"]

This patch does:
 - enable interrupts before calling schedule() as same as others, ex. x86
 - enable interrupts during ia64_do_signal() and ia64_sync_krbs()
 - do_notify_resume_user() is still called with interrupts disabled, since
   we can take short path of fsys_mode if-statement quickly.
 - pfm_handle_work() is also called with interrupts disabled, since
   it can deal interrupt mask within itself.
 - fix/add some comments/notes

Reported-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/entry.S
arch/ia64/kernel/process.c