diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-04-27 16:01:04 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-27 16:01:12 +0200 |
commit | 29c380f5f06d0c5a320b9bb6f8987065e7b81c91 (patch) | |
tree | f0c74e3f80f92a613525564efeffe001c960a1ab | |
parent | de46c33745f5e2ad594c72f2cf5f490861b16ce1 (diff) | |
download | talos-op-linux-29c380f5f06d0c5a320b9bb6f8987065e7b81c91.tar.gz talos-op-linux-29c380f5f06d0c5a320b9bb6f8987065e7b81c91.zip |
[S390] memory detection: stop at first memory hole.
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>
-rw-r--r-- | arch/s390/kernel/early.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 5e47936573f2..50538e545618 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c @@ -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; |