diff options
| author | Mark A. Greer <mgreer@mvista.com> | 2005-02-03 01:02:57 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-02-03 01:02:57 -0800 |
| commit | 3e8d86afe99258fc352c7dffcd2f52eacaf48acd (patch) | |
| tree | 2c8c4c6de22d8d4b04307fc2fb48a35bfda2f031 /arch | |
| parent | 337e6a983cfd551cfea839d406fd498656eb6262 (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')
| -rw-r--r-- | arch/ppc/syslib/mv64x60.c | 2 |
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; |
