diff options
author | Russell King <rmk@arm.linux.org.uk> | 2014-08-26 18:43:54 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-08-27 09:01:26 +0200 |
commit | 9ab12fbac1d0ffc69eee17f59f4cf19ef106ecb7 (patch) | |
tree | 235d1455cc156100bacaf7e3e2652c222ce47676 | |
parent | 4aefe679119bacc14e70ead920273675cab31c92 (diff) | |
download | etna_viv-9ab12fbac1d0ffc69eee17f59f4cf19ef106ecb7.tar.gz etna_viv-9ab12fbac1d0ffc69eee17f59f4cf19ef106ecb7.tar.xz |
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>
-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; } |