diff options
Diffstat (limited to 'arch/arm/kernel/unwind.c')
-rw-r--r-- | arch/arm/kernel/unwind.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/kernel/unwind.c b/arch/arm/kernel/unwind.c index 0bee233fef9a..314cfb232a63 100644 --- a/arch/arm/kernel/unwind.c +++ b/arch/arm/kernel/unwind.c | |||
@@ -93,7 +93,7 @@ extern const struct unwind_idx __start_unwind_idx[]; | |||
93 | static const struct unwind_idx *__origin_unwind_idx; | 93 | static const struct unwind_idx *__origin_unwind_idx; |
94 | extern const struct unwind_idx __stop_unwind_idx[]; | 94 | extern const struct unwind_idx __stop_unwind_idx[]; |
95 | 95 | ||
96 | static DEFINE_SPINLOCK(unwind_lock); | 96 | static DEFINE_RAW_SPINLOCK(unwind_lock); |
97 | static LIST_HEAD(unwind_tables); | 97 | static LIST_HEAD(unwind_tables); |
98 | 98 | ||
99 | /* Convert a prel31 symbol to an absolute address */ | 99 | /* Convert a prel31 symbol to an absolute address */ |
@@ -201,7 +201,7 @@ static const struct unwind_idx *unwind_find_idx(unsigned long addr) | |||
201 | /* module unwind tables */ | 201 | /* module unwind tables */ |
202 | struct unwind_table *table; | 202 | struct unwind_table *table; |
203 | 203 | ||
204 | spin_lock_irqsave(&unwind_lock, flags); | 204 | raw_spin_lock_irqsave(&unwind_lock, flags); |
205 | list_for_each_entry(table, &unwind_tables, list) { | 205 | list_for_each_entry(table, &unwind_tables, list) { |
206 | if (addr >= table->begin_addr && | 206 | if (addr >= table->begin_addr && |
207 | addr < table->end_addr) { | 207 | addr < table->end_addr) { |
@@ -213,7 +213,7 @@ static const struct unwind_idx *unwind_find_idx(unsigned long addr) | |||
213 | break; | 213 | break; |
214 | } | 214 | } |
215 | } | 215 | } |
216 | spin_unlock_irqrestore(&unwind_lock, flags); | 216 | raw_spin_unlock_irqrestore(&unwind_lock, flags); |
217 | } | 217 | } |
218 | 218 | ||
219 | pr_debug("%s: idx = %p\n", __func__, idx); | 219 | pr_debug("%s: idx = %p\n", __func__, idx); |
@@ -529,9 +529,9 @@ struct unwind_table *unwind_table_add(unsigned long start, unsigned long size, | |||
529 | tab->begin_addr = text_addr; | 529 | tab->begin_addr = text_addr; |
530 | tab->end_addr = text_addr + text_size; | 530 | tab->end_addr = text_addr + text_size; |
531 | 531 | ||
532 | spin_lock_irqsave(&unwind_lock, flags); | 532 | raw_spin_lock_irqsave(&unwind_lock, flags); |
533 | list_add_tail(&tab->list, &unwind_tables); | 533 | list_add_tail(&tab->list, &unwind_tables); |
534 | spin_unlock_irqrestore(&unwind_lock, flags); | 534 | raw_spin_unlock_irqrestore(&unwind_lock, flags); |
535 | 535 | ||
536 | return tab; | 536 | return tab; |
537 | } | 537 | } |
@@ -543,9 +543,9 @@ void unwind_table_del(struct unwind_table *tab) | |||
543 | if (!tab) | 543 | if (!tab) |
544 | return; | 544 | return; |
545 | 545 | ||
546 | spin_lock_irqsave(&unwind_lock, flags); | 546 | raw_spin_lock_irqsave(&unwind_lock, flags); |
547 | list_del(&tab->list); | 547 | list_del(&tab->list); |
548 | spin_unlock_irqrestore(&unwind_lock, flags); | 548 | raw_spin_unlock_irqrestore(&unwind_lock, flags); |
549 | 549 | ||
550 | kfree(tab); | 550 | kfree(tab); |
551 | } | 551 | } |