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

Commit 5f6db4ba authored by Jeya R's avatar Jeya R
Browse files

adsprpc: Do not free if flag is set to persistent



Do not free the dma memory for remote heap flag
if the persistent attribute is set to true.

Change-Id: I2ca25e347c6a4250b64c436a1f606cd541f17554
Signed-off-by: default avatarJeya R <jeyr@codeaurora.org>
parent 5e664603
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -975,7 +975,7 @@ static int fastrpc_minidump_remove_region(struct fastrpc_mmap *map)
			map->frpc_md_index = -1;
		}
	} else {
		ADSPRPC_ERR("mini-dump enabled with invalid unique id: %d\n", map->frpc_md_index);
		ADSPRPC_WARN("mini-dump enabled with invalid unique id: %d\n", map->frpc_md_index);
	}
	return err;
}
@@ -1275,11 +1275,11 @@ static void fastrpc_mmap_free(struct fastrpc_mmap *map, uint32_t flags)
			return;
		}

		if (msm_minidump_enabled()) {
		if (msm_minidump_enabled() && !map->is_persistent)
			err = fastrpc_minidump_remove_region(map);
		}

		if (map->phys && !map->is_persistent) {
			trace_fastrpc_dma_free(-1, map->phys, map->size);
		if (map->phys) {
			dma_free_attrs(me->dev, map->size, (void *)map->va,
			(dma_addr_t)map->phys, (unsigned long)map->attr);
		}
@@ -1324,8 +1324,10 @@ static void fastrpc_mmap_free(struct fastrpc_mmap *map, uint32_t flags)
		if (!IS_ERR_OR_NULL(map->buf))
			dma_buf_put(map->buf);
	}
	if (!map->is_persistent) {
		kfree(map);
	}
}

static int fastrpc_session_alloc(struct fastrpc_channel_ctx *chan, int secure,
					struct fastrpc_session_ctx **session);