diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
index ecacc5d8189921a41ee097f0e5891ab8c480325b..5ac5a1ea130a6947d934e2082c840a3fd8f6e744 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;
 		}