linux/arch
Benjamin Herrenschmidt f4ac7b5eb7 [POWERPC] Fix device-tree locking vs. interrupts
Lockdep found out that we can occasionally take the device-tree
lock for reading from softirq time (from rtas_token called
by the rtas real time clock code called by the NTP code),
while we take it occasionally for writing without masking
interrupts. The combination of those two can thus deadlock.

While some of those cases of interrupt read lock could be fixed
(such as caching the RTAS tokens) I figured that taking the
lock for writing is so rare (device-tree modification) that we
may as well penalize that case and allow reading from interrupts.

Thus, this turns all the writers to take the lock with irqs
masked to avoid the situation.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-18 15:37:16 +10:00
..
alpha alpha: fix ALSA DMA mmap crash 2008-04-02 15:28:19 -07:00
arm [ARM] 4873/1: Fix ITE 8152 interrupt demux 2008-03-28 15:07:46 +00:00
avr32 avr32: Fix bug in early resource allocation code 2008-03-27 15:31:57 +01:00
blackfin [Blackfin] arch: fix atomic and32/xor32 comments and ENDPROC markings 2008-03-03 17:44:14 -07:00
cris cris: correct usage of __user for copy to and from user space in lib/usercopy and uaccess.h 2008-03-04 16:35:16 -08:00
frv FRV: Make NOMMU-mode work with base addresses other than 0xC0000000 [try #2] 2008-04-10 13:41:29 -07:00
h8300 h8300: defconfig update 2008-02-23 17:12:16 -08:00
ia64 [IA64] kprobes arch consolidation build fix 2008-03-06 09:49:01 -08:00
m32r ide: introduce HAVE_IDE 2008-02-09 10:46:40 +01:00
m68k m68k: update defconfigs for 2.6.25 2008-04-04 14:42:30 -07:00
m68knommu m68k{,nommu}: Wire up new timerfd syscalls 2008-03-04 08:04:11 -08:00
mips [MIPS] Handle aliases in vmalloc correctly. 2008-04-07 22:31:04 +01:00
mn10300 MN10300: define HZ as a config option 2008-02-23 17:12:13 -08:00
parisc [PARISC] head.S: section mismatch fixes 2008-03-15 19:12:22 -07:00
powerpc [POWERPC] Fix device-tree locking vs. interrupts 2008-04-18 15:37:16 +10:00
ppc [POWERPC] Use __SPIN_LOCK_UNLOCKED macro in mpc52xx_set_psc_clkdiv 2008-04-07 13:49:21 +10:00
s390 [S390] futex: let futex_atomic_cmpxchg_pt survive early functional tests. 2008-03-20 17:33:46 +01:00
sh sh: Fix up uImage compression type 2008-03-31 16:17:11 +09:00
sparc [SPARC]: Fix several regset and ptrace bugs. 2008-04-09 19:39:25 -07:00
sparc64 Merge branch 'linux-2.6' 2008-04-14 21:11:02 +10:00
um [UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list 2008-03-26 00:16:29 -07:00
v850 ide: introduce HAVE_IDE 2008-02-09 10:46:40 +01:00
x86 asmlinkage_protect replaces prevent_tail_call 2008-04-10 17:28:26 -07:00
xtensa [XTENSA] Allow debugger to modify the WINDOWBASE register. 2008-02-13 17:45:36 -08:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00