mm: cma: retry only on EBUSY

Retry the cma alloc only when alloc_contig_range returns
-EBUSY. This avoids unnecessary retries when the heap is
full.

Change-Id: If4626f0a0bc14e4b3a500283eb5a4c33b78fb6f2
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
diff --git a/mm/cma.c b/mm/cma.c
index e97ad01..1ccfaa1 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -466,7 +466,8 @@
 				bitmap_maxno, start, bitmap_count, mask,
 				offset);
 		if (bitmap_no >= bitmap_maxno) {
-			if (retry_after_sleep < max_retries) {
+			if ((retry_after_sleep < max_retries) &&
+						(ret == -EBUSY)) {
 				start = 0;
 				/*
 				 * update max retries if available free regions