Define and initialize kdb_lock using DEFINE_SPINLOCK.
Convert kgdb_cpulock into a raw_spinlock_t. SPIN_LOCK_UNLOCKED is deprecated and it's replacement DEFINE_SPINLOCK is not suitable for arrays of spinlocks. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Родитель
f8bb3af924
Коммит
57468af326
|
@ -176,8 +176,10 @@ int kgdb_enabled;
|
||||||
/*
|
/*
|
||||||
* spin locks for smp case
|
* spin locks for smp case
|
||||||
*/
|
*/
|
||||||
static spinlock_t kgdb_lock = SPIN_LOCK_UNLOCKED;
|
static DEFINE_SPINLOCK(kgdb_lock);
|
||||||
static spinlock_t kgdb_cpulock[NR_CPUS] = { [0 ... NR_CPUS-1] = SPIN_LOCK_UNLOCKED};
|
static raw_spinlock_t kgdb_cpulock[NR_CPUS] = {
|
||||||
|
[0 ... NR_CPUS-1] = __RAW_SPIN_LOCK_UNLOCKED;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BUFMAX defines the maximum number of characters in inbound/outbound buffers
|
* BUFMAX defines the maximum number of characters in inbound/outbound buffers
|
||||||
|
@ -661,8 +663,8 @@ static void kgdb_wait(void *arg)
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
|
|
||||||
spin_lock(&kgdb_cpulock[cpu]);
|
__raw_spin_lock(&kgdb_cpulock[cpu]);
|
||||||
spin_unlock(&kgdb_cpulock[cpu]);
|
__raw_spin_unlock(&kgdb_cpulock[cpu]);
|
||||||
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
}
|
}
|
||||||
|
@ -710,7 +712,7 @@ void handle_exception (struct gdb_regs *regs)
|
||||||
* acquire the CPU spinlocks
|
* acquire the CPU spinlocks
|
||||||
*/
|
*/
|
||||||
for (i = num_online_cpus()-1; i >= 0; i--)
|
for (i = num_online_cpus()-1; i >= 0; i--)
|
||||||
if (spin_trylock(&kgdb_cpulock[i]) == 0)
|
if (__raw_spin_trylock(&kgdb_cpulock[i]) == 0)
|
||||||
panic("kgdb: couldn't get cpulock %d\n", i);
|
panic("kgdb: couldn't get cpulock %d\n", i);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -985,7 +987,7 @@ finish_kgdb:
|
||||||
exit_kgdb_exception:
|
exit_kgdb_exception:
|
||||||
/* release locks so other CPUs can go */
|
/* release locks so other CPUs can go */
|
||||||
for (i = num_online_cpus()-1; i >= 0; i--)
|
for (i = num_online_cpus()-1; i >= 0; i--)
|
||||||
spin_unlock(&kgdb_cpulock[i]);
|
__raw_spin_unlock(&kgdb_cpulock[i]);
|
||||||
spin_unlock(&kgdb_lock);
|
spin_unlock(&kgdb_lock);
|
||||||
|
|
||||||
__flush_cache_all();
|
__flush_cache_all();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче