diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c index 1efaef6e54e9..31d5debc020e 100644 --- a/drivers/block/null_blk.c +++ b/drivers/block/null_blk.c @@ -446,8 +446,6 @@ static void null_del_dev(struct nullb *nullb) #ifdef CONFIG_NVM -static struct kmem_cache *ppa_cache; - static void null_lnvm_end_io(struct request *rq, int error) { struct nvm_rq *rqd = rq->end_io_data; @@ -523,13 +521,7 @@ static void *null_lnvm_create_dma_pool(struct request_queue *q, char *name) { mempool_t *virtmem_pool; - ppa_cache = kmem_cache_create(name, PAGE_SIZE, 0, 0, NULL); - if (!ppa_cache) { - pr_err("null_nvm: Unable to create kmem cache\n"); - return NULL; - } - - virtmem_pool = mempool_create_slab_pool(64, ppa_cache); + virtmem_pool = mempool_create_page_pool(64, 0); if (!virtmem_pool) { pr_err("null_nvm: Unable to create virtual memory pool\n"); return NULL; @@ -540,10 +532,8 @@ static void *null_lnvm_create_dma_pool(struct request_queue *q, char *name) static void null_lnvm_destroy_dma_pool(void *pool) { - mempool_t *virtmem_pool = pool; + mempool_destroy(pool); - mempool_destroy(virtmem_pool); -} static void *null_lnvm_dev_dma_alloc(struct request_queue *q, void *pool, gfp_t mem_flags, dma_addr_t *dma_handler)