[S390] memory detection: stop at first memory hole.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 27 Apr 2007 14:01:04 +0000 (16:01 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 27 Apr 2007 14:01:12 +0000 (16:01 +0200)
If both sclp and diag memory detection don't work stop at the first
memory hole. Otherwise the code might loop forever...

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/early.c

index 5e47936573f2397a724366331e65617d4b3a709b..50538e5456183194b08d60d81d73b84cfa448983 100644 (file)
@@ -253,11 +253,10 @@ static noinline __init void find_memory_chunks(unsigned long memsize)
                        break;
 #endif
                /*
-                * Finish memory detection at the first hole, unless
-                * - we reached the hsa -> skip it.
-                * - we know there must be more.
+                * Finish memory detection at the first hole
+                * if storage size is unknown.
                 */
-               if (cc == -1UL && !memsize && old_addr != ADDR2G)
+               if (cc == -1UL && !memsize)
                        break;
                if (memsize && addr >= memsize)
                        break;