linux/arch/ia64/kernel
Hidetoshi Seto 3633c73080 [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>
2008-05-14 15:55:35 -07:00
..
cpufreq
.gitignore [IA64] Add gate.lds to list of files ignored by Git 2007-11-06 15:39:45 -08:00
Makefile Generic semaphore implementation 2008-04-17 10:42:34 -04:00
acpi-ext.c
acpi-processor.c ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD 2008-02-02 02:22:43 -05:00
acpi.c [IA64] machvec support for SGI UV platform 2008-05-14 14:22:04 -07:00
asm-offsets.c ia64: use kbuild.h macros instead of defining macros in asm-offsets.c 2008-04-29 08:06:29 -07:00
audit.c
brl_emu.c
crash.c [IA64] simplify notify hooks in mca.c 2008-04-22 08:56:38 -07:00
crash_dump.c
cyclone.c
efi.c [IA64] Kernel parameter for max number of concurrent global TLB purges 2008-04-04 11:06:38 -07:00
efi_stub.S
entry.S [IA64] fix interrupt masking for pending works on kernel leave 2008-05-14 15:55:35 -07:00
entry.h
err_inject.c
esi.c
esi_stub.S
fsys.S Pull miscellaneous into release branch 2008-04-17 10:14:51 -07:00
fsyscall_gtod_data.h [IA64] generalize attribute of fsyscall_gtod_data 2008-02-04 15:36:36 -08:00
gate-data.S
gate.S
gate.lds.S [IA64] increase .data.patch offset 2007-12-07 14:28:02 -08:00
head.S [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting) 2008-02-20 12:55:37 -08:00
ia64_ksyms.c Generic semaphore implementation 2008-04-17 10:42:34 -04:00
init_task.c
iosapic.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
irq.c [IA64] fix section mismatch in arch/ia64/kernel/irq.c 2008-04-30 14:08:01 -07:00
irq_ia64.c [IA64] arch/ia64/kernel/: use time_* macros 2008-04-09 10:38:30 -07:00
irq_lsapic.c
ivt.S [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting) 2008-02-20 12:55:37 -08:00
jprobes.S
kprobes.c [IA64] kprobes: kprobe-booster for ia64 2008-04-09 10:36:43 -07:00
machine_kexec.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
machvec.c
mca.c [IA64] simplify notify hooks in mca.c 2008-04-22 08:56:38 -07:00
mca_asm.S [IA64] Add API for allocating Dynamic TR resource. 2008-04-03 11:02:58 -07:00
mca_drv.c [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca_drv.h [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
mca_drv_asm.S [IA64] mca style cleanup 2008-02-04 15:42:06 -08:00
minstate.h [IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting) 2008-02-20 12:55:37 -08:00
module.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
msi_ia64.c [IA64] Fix irq migration in multiple vector domain 2008-03-04 14:16:20 -08:00
numa.c [IA64] Minimize per_cpu reservations. 2008-04-08 13:51:35 -07:00
pal.S
palinfo.c [IA64] fix section mismatch in arch/ia64/kernel/palinfo.c 2008-04-30 14:08:04 -07:00
patch.c [IA64] cleanup and improve fsys_gettimeofday 2008-03-10 16:35:47 -07:00
perfmon.c [IA64] fix file and descriptor handling in perfmon 2008-05-01 14:36:36 -07:00
perfmon_default_smpl.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
process.c [IA64] fix interrupt masking for pending works on kernel leave 2008-05-14 15:55:35 -07:00
ptrace.c [IA64] remove duplicate code for register access 2008-03-12 16:28:02 -07:00
relocate_kernel.S
sal.c [IA64] allow user to force_pal_cache_flush 2008-05-14 15:42:07 -07:00
salinfo.c ia64: use non-racy method for proc entries creation 2008-04-29 08:06:21 -07:00
setup.c [IA64] Don't reserve crashkernel memory > 4 GB 2008-05-14 15:40:40 -07:00
sigframe.h
signal.c [IA64] TS_RESTORE_SIGMASK 2008-05-01 14:29:44 -07:00
smp.c [IA64] smp.c coding style fix 2008-05-01 14:29:12 -07:00
smpboot.c [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO 2008-04-29 13:51:28 -07:00
sys_ia64.c
time.c [IA64] fix section mismatch in arch/ia64/kernel/irq.c 2008-04-30 14:08:01 -07:00
topology.c [IA64] fix section mismatch in arch/ia64/kernel/topology.c 2008-04-30 14:08:07 -07:00
traps.c [IA64] honor notify_die() returning NOTIFY_STOP 2008-02-05 08:26:44 -08:00
unaligned.c [IA64] arch/ia64/kernel/: use time_* macros 2008-04-09 10:38:30 -07:00
uncached.c [IA64] allocate multiple contiguous pages via uncached allocator 2008-04-29 13:49:01 -07:00
unwind.c [IA64] remove remaining __FUNCTION__ occurrences 2008-03-06 09:19:27 -08:00
unwind_decoder.c
unwind_i.h
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00