summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/lmb.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/lmb.c b/lib/lmb.c
index 6390d63a2a0e..e34a9e586c42 100644
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -134,6 +134,12 @@ static long __init lmb_add_region(struct lmb_region *rgn, unsigned long base,
unsigned long coalesced = 0;
long adjacent, i;
+ if ((rgn->cnt == 1) && (rgn->region[0].size == 0)) {
+ rgn->region[0].base = base;
+ rgn->region[0].size = size;
+ return 0;
+ }
+
/* First try and coalesce this LMB with another. */
for (i=0; i < rgn->cnt; i++) {
unsigned long rgnbase = rgn->region[i].base;