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: Deepika Singh <dsi@qti.qualcomm.com>
Signed-off-by: Vamsi krishna Gattupalli <vgattupa@codeaurora.org>
This commit is contained in:
Vamsi krishna Gattupalli
2021-03-04 12:19:46 +05:30
parent fd8406ad6f
commit 4152522fd3

View File

@@ -1696,7 +1696,7 @@ static int get_args(uint32_t kernel, struct smq_invoke_ctx *ctx)
uintptr_t args;
size_t rlen = 0, copylen = 0, metalen = 0, lrpralen = 0;
int i, oix;
int err = 0;
int err = 0, j = 0;
int mflags = 0;
uint64_t *fdlist;
uint32_t *crclist;
@@ -1741,6 +1741,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;
}