summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/lightnvm')
-rw-r--r--drivers/lightnvm/pblk-core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c
index 549341b24e3c..99036befb571 100644
--- a/drivers/lightnvm/pblk-core.c
+++ b/drivers/lightnvm/pblk-core.c
@@ -278,7 +278,9 @@ void pblk_free_rqd(struct pblk *pblk, struct nvm_rq *rqd, int type)
278 return; 278 return;
279 } 279 }
280 280
281 nvm_dev_dma_free(dev->parent, rqd->meta_list, rqd->dma_meta_list); 281 if (rqd->meta_list)
282 nvm_dev_dma_free(dev->parent, rqd->meta_list,
283 rqd->dma_meta_list);
282 mempool_free(rqd, pool); 284 mempool_free(rqd, pool);
283} 285}
284 286
@@ -316,7 +318,7 @@ int pblk_bio_add_pages(struct pblk *pblk, struct bio *bio, gfp_t flags,
316 318
317 return 0; 319 return 0;
318err: 320err:
319 pblk_bio_free_pages(pblk, bio, 0, i - 1); 321 pblk_bio_free_pages(pblk, bio, (bio->bi_vcnt - i), i);
320 return -1; 322 return -1;
321} 323}
322 324