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

Commit e211a7c6 authored by Vamsi krishna Gattupalli's avatar Vamsi krishna Gattupalli
Browse files

msm: adsprpc: Clean DMA handles maps in case of error



Free DMA handle fd maps in case of error while creating
map for other handles.

Change-Id: Iae062bc958a58f38e4424fab88b451813478ae97
Acked-by: default avatarDeepika Singh <dsi@qti.qualcomm.com>
Signed-off-by: default avatarVamsi krishna Gattupalli <vgattupa@codeaurora.org>
parent 5ac088fc
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2233,7 +2233,7 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)
	size_t rlen = 0, copylen = 0, metalen = 0, lrpralen = 0;
	size_t totallen = 0; //header and non ion copy buf len
	int i, oix;
	int err = 0;
	int err = 0, j = 0;
	int mflags = 0;
	uint64_t *fdlist = NULL;
	uint32_t *crclist = NULL;
@@ -2278,6 +2278,8 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)
					FASTRPC_ATTR_NOVA, 0, 0, dmaflags,
					&ctx->maps[i]);
		if (err) {
			for (j = bufs; j < i; j++)
				fastrpc_mmap_free(ctx->maps[j], 0);
			mutex_unlock(&ctx->fl->map_mutex);
			goto bail;
		}