mirror of https://gitee.com/openkylin/linux.git
powerpc: Convert die.lock to raw_spinlock
die.lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
3eb93c558a
commit
b8f87782e8
|
@ -102,11 +102,11 @@ static inline void pmac_backlight_unblank(void) { }
|
|||
int die(const char *str, struct pt_regs *regs, long err)
|
||||
{
|
||||
static struct {
|
||||
spinlock_t lock;
|
||||
raw_spinlock_t lock;
|
||||
u32 lock_owner;
|
||||
int lock_owner_depth;
|
||||
} die = {
|
||||
.lock = __SPIN_LOCK_UNLOCKED(die.lock),
|
||||
.lock = __RAW_SPIN_LOCK_UNLOCKED(die.lock),
|
||||
.lock_owner = -1,
|
||||
.lock_owner_depth = 0
|
||||
};
|
||||
|
@ -120,7 +120,7 @@ int die(const char *str, struct pt_regs *regs, long err)
|
|||
|
||||
if (die.lock_owner != raw_smp_processor_id()) {
|
||||
console_verbose();
|
||||
spin_lock_irqsave(&die.lock, flags);
|
||||
raw_spin_lock_irqsave(&die.lock, flags);
|
||||
die.lock_owner = smp_processor_id();
|
||||
die.lock_owner_depth = 0;
|
||||
bust_spinlocks(1);
|
||||
|
@ -160,7 +160,7 @@ int die(const char *str, struct pt_regs *regs, long err)
|
|||
bust_spinlocks(0);
|
||||
die.lock_owner = -1;
|
||||
add_taint(TAINT_DIE);
|
||||
spin_unlock_irqrestore(&die.lock, flags);
|
||||
raw_spin_unlock_irqrestore(&die.lock, flags);
|
||||
|
||||
if (kexec_should_crash(current) ||
|
||||
kexec_sr_activated(smp_processor_id()))
|
||||
|
|
Loading…
Reference in New Issue