rwsem generic spinlock: use IRQ save/restore spinlocks
authorKevin Hilman <khilman@deeprootsystems.com>
Wed, 7 Apr 2010 18:52:46 +0000 (11:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 7 Apr 2010 23:15:05 +0000 (16:15 -0700)
commit3eac4abaa69949af0e2f64e5c55ee8a22bbdd3e7
tree9620ae3c39a0870a010a08166e29823a7afbf262
parent04287f975e68038051eb9c79896866d36610b8e0
rwsem generic spinlock: use IRQ save/restore spinlocks

rwsems can be used with IRQs disabled, particularily in early boot
before IRQs are enabled.  Currently the spin_unlock_irq() usage in the
slow-patch will unconditionally enable interrupts and cause problems
since interrupts are not yet initialized or enabled.

This patch uses save/restore versions of IRQ spinlocks in the slowpath
to ensure interrupts are not unintentionally disabled.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/rwsem-spinlock.c