diff options
author | Russell King <rmk@arm.linux.org.uk> | 2014-08-26 18:43:54 +0100 |
---|---|---|
committer | Russell King <rmk@arm.linux.org.uk> | 2014-08-26 19:07:41 +0100 |
commit | 6af9aa7f982f66e1b3e8ca683278890ba274633f (patch) | |
tree | 235d1455cc156100bacaf7e3e2652c222ce47676 /src | |
parent | 4aefe679119bacc14e70ead920273675cab31c92 (diff) |
Ensure that the signals are properly destroyed in enta_free()
etna_create() allocates six signals, one for the context and one per
allocated command buffer. etna_free() cleans up the command buffers,
but fails to clean up the signals which etna_create() allocated. Fix
this oversight.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/etnaviv/etna.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/etnaviv/etna.c b/src/etnaviv/etna.c index a79f4b1..c33527e 100644 --- a/src/etnaviv/etna.c +++ b/src/etnaviv/etna.c @@ -362,9 +362,11 @@ int etna_free(struct etna_ctx *ctx) /* Free command buffers */ for(int x=0; x<NUM_COMMAND_BUFFERS; ++x) { + viv_user_signal_destroy(ctx->conn, ctx->cmdbufi[x].sig_id); etna_bo_del(ctx->conn, ctx->cmdbufi[x].bo, NULL); ETNA_FREE(ctx->cmdbuf[x]); } + viv_user_signal_destroy(ctx->conn, ctx->sig_id); ETNA_FREE(ctx); return ETNA_OK; } |