aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dma/debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/dma/debug.c')
-rw-r--r--kernel/dma/debug.c14
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