diff mbox

[1/2] lightnvm: free metadata dma on rrpc when needed

Message ID 1461681318-29571-3-git-send-email-javier@javigon.com (mailing list archive)
State New, archived
Headers show

Commit Message

=?UTF-8?q?Javier=20Gonz=C3=A1lez?= April 26, 2016, 2:35 p.m. UTC
rrpc has assumed that medatada is always sent as a dma buffer to the
device. When this is not true, do not attempt to free a non-allocated
dma region.

Signed-off-by: Javier González <javier@cnexlabs.com>
---
 drivers/lightnvm/rrpc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
diff mbox

Patch

diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
index a9a5fcc..ba789c3 100644
--- a/drivers/lightnvm/rrpc.c
+++ b/drivers/lightnvm/rrpc.c
@@ -707,10 +707,12 @@  static void rrpc_end_io(struct nvm_rq *rqd)
 
 	rrpc_unlock_rq(rrpc, rqd);
 
-	if (npages > 1)
+	if (npages > 1) {
 		nvm_dev_dma_free(rrpc->dev, rqd->ppa_list, rqd->dma_ppa_list);
-	if (rqd->metadata)
-		nvm_dev_dma_free(rrpc->dev, rqd->metadata, rqd->dma_metadata);
+		if (rqd->meta_list)
+			nvm_dev_dma_free(rrpc->dev, rqd->meta_list,
+							rqd->dma_meta_list);
+	}
 
 	mempool_free(rqd, rrpc->rq_pool);
 }