summaryrefslogtreecommitdiff
path: root/arch/ppc/syslib
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@mvista.com>2005-02-03 01:02:57 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-02-03 01:02:57 -0800
commit3e8d86afe99258fc352c7dffcd2f52eacaf48acd (patch)
tree2c8c4c6de22d8d4b04307fc2fb48a35bfda2f031 /arch/ppc/syslib
parent337e6a983cfd551cfea839d406fd498656eb6262 (diff)
[PATCH] ppc32: fix locking bugs in mv64x60 code
This patch fixes 2 SMP deadlocks. The first is that mv64x60_read() was returning before the unlock. The second was mv64x60_modify() locks the spin lock and calls mv64x60_read() and mv64x60_write() which also lock the same spin lock. Signed-Off-By: Brian Waite <waite@skycomputers.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/syslib')
-rw-r--r--arch/ppc/syslib/mv64x60.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c
index 1d12c3165ec9..b06c8c762bb7 100644
--- a/arch/ppc/syslib/mv64x60.c
+++ b/arch/ppc/syslib/mv64x60.c
@@ -32,7 +32,7 @@
u8 mv64x60_pci_exclude_bridge = 1;
-spinlock_t mv64x60_lock; /* Only really used by PIC code once init done */
+spinlock_t mv64x60_lock = SPIN_LOCK_UNLOCKED;
static phys_addr_t mv64x60_bridge_pbase = 0;
static void *mv64x60_bridge_vbase = 0;