Просмотр исходного кода

[LMB]: Fix lmb_add_region if region should be added at the head

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>
Kumar Gala 17 лет назад
Родитель
Сommit
74b20dad1c
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      lib/lmb.c

+ 5 - 0
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;