Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b6002f8 authored by Jordan Crouse's avatar Jordan Crouse
Browse files

ion: Fix API changes in dma-buf-ref.c



Commit fe5698e7 ("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: default avatarJordan Crouse <jcrouse@codeaurora.org>
parent b60524e9
Loading
Loading
Loading
Loading
+12 −14
Original line number Diff line number Diff line
@@ -63,20 +63,15 @@ static void dma_buf_ref_insert_handle(struct msm_dma_buf *msm_dma_buf,
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);

	if (nr_entries != 0 && entries[nr_entries - 1] == ULONG_MAX)
		nr_entries--;

	handle = depot_save_stack(&trace, GFP_KERNEL);
	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');
	}