diff options
Diffstat (limited to 'lwis_allocator.c')
-rw-r--r-- | lwis_allocator.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lwis_allocator.c b/lwis_allocator.c index 3b64fbd..0e4d55d 100644 --- a/lwis_allocator.c +++ b/lwis_allocator.c @@ -237,7 +237,7 @@ void lwis_allocator_release(struct lwis_device *lwis_dev) mutex_unlock(&lwis_dev->client_lock); } -void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size) +void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size, gfp_t gfp_flags) { struct lwis_allocator_block_mgr *block_mgr; struct lwis_allocator_block_pool *block_pool; @@ -301,7 +301,7 @@ void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size) * memory on hand. */ if (idx > 19) { - block = kmalloc(sizeof(struct lwis_allocator_block), GFP_KERNEL); + block = kmalloc(sizeof(struct lwis_allocator_block), gfp_flags); if (block == NULL) { dev_err(lwis_dev->dev, "Allocate failed\n"); return NULL; @@ -309,7 +309,7 @@ void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size) block->type = idx; block->next = NULL; block->prev = NULL; - block->ptr = kvmalloc(size, GFP_KERNEL); + block->ptr = kvmalloc(size, gfp_flags); if (block->ptr == NULL) { dev_err(lwis_dev->dev, "Allocate failed\n"); kfree(block); @@ -336,7 +336,7 @@ void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size) } /* Allocate new block */ - block = kmalloc(sizeof(struct lwis_allocator_block), GFP_KERNEL); + block = kmalloc(sizeof(struct lwis_allocator_block), gfp_flags); if (block == NULL) { dev_err(lwis_dev->dev, "Allocate failed\n"); return NULL; @@ -345,7 +345,7 @@ void *lwis_allocator_allocate(struct lwis_device *lwis_dev, size_t size) block->next = NULL; block->prev = NULL; block_size = 1 << idx; - block->ptr = kvmalloc(block_size, GFP_KERNEL); + block->ptr = kvmalloc(block_size, gfp_flags); if (block->ptr == NULL) { dev_err(lwis_dev->dev, "Allocate failed\n"); kfree(block); |