From 2b6002f8df331f6397b3a5f8f3e77675addc4f97 Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Tue, 3 Dec 2019 09:55:00 -0700 Subject: [PATCH] ion: Fix API changes in dma-buf-ref.c Commit fe5698e79698 ("ion: Merge all ION related changes from msm-4.19 to msm-lahaina") added the file dma-buf-ref.c but it was using an older kernel API for the stack trace management. Fix up the API to work with 5.4. Change-Id: Ic0dedbad6f0603ace4c8dc92e6789e043e7fdfa9 Signed-off-by: Jordan Crouse --- drivers/dma-buf/dma-buf-ref.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/dma-buf/dma-buf-ref.c b/drivers/dma-buf/dma-buf-ref.c index 696699323f3d..09aa80681ac3 100644 --- a/drivers/dma-buf/dma-buf-ref.c +++ b/drivers/dma-buf/dma-buf-ref.c @@ -63,20 +63,15 @@ out: void dma_buf_ref_mod(struct msm_dma_buf *msm_dma_buf, int nr) { unsigned long entries[DMA_BUF_STACK_DEPTH]; - struct stack_trace trace = { - .nr_entries = 0, - .entries = entries, - .max_entries = DMA_BUF_STACK_DEPTH, - .skip = 1 - }; + int nr_entries; depot_stack_handle_t handle; - save_stack_trace(&trace); - if (trace.nr_entries != 0 && - trace.entries[trace.nr_entries-1] == ULONG_MAX) - trace.nr_entries--; + nr_entries = stack_trace_save(entries, ARRAY_SIZE(entries), 1); - handle = depot_save_stack(&trace, GFP_KERNEL); + if (nr_entries != 0 && entries[nr_entries - 1] == ULONG_MAX) + nr_entries--; + + handle = stack_depot_save(entries, nr_entries, GFP_KERNEL); if (!handle) return; @@ -91,18 +86,21 @@ int dma_buf_ref_show(struct seq_file *s, struct msm_dma_buf *msm_dma_buf) char *buf; struct dma_buf_ref *ref; int count = 0; - struct stack_trace trace; buf = (void *)__get_free_page(GFP_KERNEL); if (!buf) return -ENOMEM; list_for_each_entry(ref, &msm_dma_buf->refs, list) { + unsigned long *entries; + int nr_entries; + count += ref->count; seq_printf(s, "References: %d\n", ref->count); - depot_fetch_stack(ref->handle, &trace); - snprint_stack_trace(buf, PAGE_SIZE, &trace, 0); + nr_entries = stack_depot_fetch(ref->handle, &entries); + + stack_trace_snprint(buf, PAGE_SIZE, entries, nr_entries, 0); seq_puts(s, buf); seq_putc(s, '\n'); }