]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit5badc8858d3178a336acdc8e2400eee418c4c743
tree9620ae3c39a0870a010a08166e29823a7afbf262
parent4e18f3655595f9f522647b20eb7c42d0b6596092
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