From 3e45b8aacec23351198ba9e55bbccebcef4aacca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Mon, 25 Apr 2022 18:19:07 +0200 Subject: [PATCH] pc_wifi_drv: implement kmem_cache_free_bulk So far this dummy was only triggered on AX devices after the driver has been used for a few hours. Issue #4488. --- repos/pc/src/lib/wifi/generated_dummies.c | 8 -------- repos/pc/src/lib/wifi/lx_emul.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/repos/pc/src/lib/wifi/generated_dummies.c b/repos/pc/src/lib/wifi/generated_dummies.c index 73210cde4a..55fe99ad21 100644 --- a/repos/pc/src/lib/wifi/generated_dummies.c +++ b/repos/pc/src/lib/wifi/generated_dummies.c @@ -668,14 +668,6 @@ void kmem_cache_destroy(struct kmem_cache * s) } -#include - -void kmem_cache_free_bulk(struct kmem_cache * s,size_t size,void ** p) -{ - lx_emul_trace_and_stop(__func__); -} - - #include void kmsg_dump(enum kmsg_dump_reason reason) diff --git a/repos/pc/src/lib/wifi/lx_emul.c b/repos/pc/src/lib/wifi/lx_emul.c index 7f21f6a1d2..54f26ca1b2 100644 --- a/repos/pc/src/lib/wifi/lx_emul.c +++ b/repos/pc/src/lib/wifi/lx_emul.c @@ -266,6 +266,16 @@ struct kmem_cache * kmem_cache_create_usercopy(const char * name, } +void kmem_cache_free_bulk(struct kmem_cache *s, size_t size, void **p) +{ + size_t i; + + for (i = 0; i < size; i++) { + kmem_cache_free(s, p[i]); + } +} + + #include int register_filesystem(struct file_system_type * fs)