From 90a838a8abc9db9ffd598b5f3175ac573aecc0b3 Mon Sep 17 00:00:00 2001
From: Laura Abbott <lauraa@codeaurora.org>
Date: Mon, 21 Apr 2014 14:17:45 -0700
Subject: [PATCH] cma: Return 0 on error path

If a free CMA region cannot be found because every one is busy,
an error needs to be propegated up by returning a zero pfn.
Ensure the pfn is actually zero when returning an error.

Change-Id: I0d5a66a25c4483bf0f219cec1d7009239518f27a
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
---
 drivers/base/dma-contiguous.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
index ecacc5d81899..5ac5a1ea130a 100644
--- a/drivers/base/dma-contiguous.c
+++ b/drivers/base/dma-contiguous.c
@@ -609,6 +609,7 @@ unsigned long dma_alloc_from_contiguous(struct device *dev, int count,
 		pageno = bitmap_find_next_zero_area(cma->bitmap, cma->count,
 						    start, count, mask);
 		if (pageno >= cma->count) {
+			pfn = 0;
 			mutex_unlock(&cma->lock);
 			break;
 		}
-- 
GitLab