diff options
Diffstat (limited to 'kernel/dma/debug.c')
-rw-r--r-- | kernel/dma/debug.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c index 45d51e8e26f6..badd77670d00 100644 --- a/kernel/dma/debug.c +++ b/kernel/dma/debug.c | |||
@@ -89,8 +89,8 @@ struct dma_debug_entry { | |||
89 | int sg_mapped_ents; | 89 | int sg_mapped_ents; |
90 | enum map_err_types map_err_type; | 90 | enum map_err_types map_err_type; |
91 | #ifdef CONFIG_STACKTRACE | 91 | #ifdef CONFIG_STACKTRACE |
92 | struct stack_trace stacktrace; | 92 | unsigned int stack_len; |
93 | unsigned long st_entries[DMA_DEBUG_STACKTRACE_ENTRIES]; | 93 | unsigned long stack_entries[DMA_DEBUG_STACKTRACE_ENTRIES]; |
94 | #endif | 94 | #endif |
95 | }; | 95 | }; |
96 | 96 | ||
@@ -174,7 +174,7 @@ static inline void dump_entry_trace(struct dma_debug_entry *entry) | |||
174 | #ifdef CONFIG_STACKTRACE | 174 | #ifdef CONFIG_STACKTRACE |
175 | if (entry) { | 175 | if (entry) { |
176 | pr_warning("Mapped at:\n"); | 176 | pr_warning("Mapped at:\n"); |
177 | print_stack_trace(&entry->stacktrace, 0); | 177 | stack_trace_print(entry->stack_entries, entry->stack_len, 0); |
178 | } | 178 | } |
179 | #endif | 179 | #endif |
180 | } | 180 | } |
@@ -704,12 +704,10 @@ static struct dma_debug_entry *dma_entry_alloc(void) | |||
704 | spin_unlock_irqrestore(&free_entries_lock, flags); | 704 | spin_unlock_irqrestore(&free_entries_lock, flags); |
705 | 705 | ||
706 | #ifdef CONFIG_STACKTRACE | 706 | #ifdef CONFIG_STACKTRACE |
707 | entry->stacktrace.max_entries = DMA_DEBUG_STACKTRACE_ENTRIES; | 707 | entry->stack_len = stack_trace_save(entry->stack_entries, |
708 | entry->stacktrace.entries = entry->st_entries; | 708 | ARRAY_SIZE(entry->stack_entries), |
709 | entry->stacktrace.skip = 2; | 709 | 1); |
710 | save_stack_trace(&entry->stacktrace); | ||
711 | #endif | 710 | #endif |
712 | |||
713 | return entry; | 711 | return entry; |
714 | } | 712 | } |
715 | 713 | ||