mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[IA64] Make ia64 die() preempt safe
Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
67d340f440
commit
af25e94d4d
1 changed files with 4 additions and 2 deletions
|
@ -90,14 +90,16 @@ die (const char *str, struct pt_regs *regs, long err)
|
|||
.lock_owner_depth = 0
|
||||
};
|
||||
static int die_counter;
|
||||
int cpu = get_cpu();
|
||||
|
||||
if (die.lock_owner != smp_processor_id()) {
|
||||
if (die.lock_owner != cpu) {
|
||||
console_verbose();
|
||||
spin_lock_irq(&die.lock);
|
||||
die.lock_owner = smp_processor_id();
|
||||
die.lock_owner = cpu;
|
||||
die.lock_owner_depth = 0;
|
||||
bust_spinlocks(1);
|
||||
}
|
||||
put_cpu();
|
||||
|
||||
if (++die.lock_owner_depth < 3) {
|
||||
printk("%s[%d]: %s %ld [%d]\n",
|
||||
|
|
Loading…
Reference in a new issue