summaryrefslogtreecommitdiffstats
path: root/firmware/buflib_malloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/buflib_malloc.c')
-rw-r--r--firmware/buflib_malloc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/firmware/buflib_malloc.c b/firmware/buflib_malloc.c
index fdc2b5b925..2ac3441ec6 100644
--- a/firmware/buflib_malloc.c
+++ b/firmware/buflib_malloc.c
@@ -168,6 +168,18 @@ unsigned buflib_pin_count(struct buflib_context *ctx, int handle)
return h->pin_count;
}
+void _buflib_malloc_put_data_pinned(struct buflib_context *ctx, void *data)
+{
+ for (int i = 0; i < ctx->num_allocs; ++i)
+ {
+ if (ctx->allocs[i].user == data)
+ {
+ ctx->allocs[i].pin_count--;
+ break;
+ }
+ }
+}
+
int buflib_free(struct buflib_context *ctx, int handle)
{
if (handle <= 0)