|
@@ -278,7 +278,9 @@ void pblk_free_rqd(struct pblk *pblk, struct nvm_rq *rqd, int type)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- nvm_dev_dma_free(dev->parent, rqd->meta_list, rqd->dma_meta_list);
|
|
|
+ if (rqd->meta_list)
|
|
|
+ nvm_dev_dma_free(dev->parent, rqd->meta_list,
|
|
|
+ rqd->dma_meta_list);
|
|
|
mempool_free(rqd, pool);
|
|
|
}
|
|
|
|
|
@@ -316,7 +318,7 @@ int pblk_bio_add_pages(struct pblk *pblk, struct bio *bio, gfp_t flags,
|
|
|
|
|
|
return 0;
|
|
|
err:
|
|
|
- pblk_bio_free_pages(pblk, bio, 0, i - 1);
|
|
|
+ pblk_bio_free_pages(pblk, bio, (bio->bi_vcnt - i), i);
|
|
|
return -1;
|
|
|
}
|
|
|
|