[LMB]: Fix lmb_add_region if region should be added at the head
authorKumar Gala <galak@kernel.crashing.org>
Wed, 20 Feb 2008 05:28:18 +0000 (21:28 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Feb 2008 05:28:18 +0000 (21:28 -0800)
We introduced a bug in fixing lmb_add_region to handle an initial
region being non-zero.  Before that fix it was impossible to insert a
region at the head of the list since the first region always started
at zero.

Now that its possible for the first region to be non-zero we need to
check to see if the new region should be added at the head and if so
actually add it.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/lmb.c

index e3c8dcb..3c43b95 100644 (file)
--- a/lib/lmb.c
+++ b/lib/lmb.c
@@ -184,6 +184,11 @@ static long __init lmb_add_region(struct lmb_region *rgn, u64 base, u64 size)
                        break;
                }
        }
+
+       if (base < rgn->region[0].base) {
+               rgn->region[0].base = base;
+               rgn->region[0].size = size;
+       }
        rgn->cnt++;
 
        return 0;