diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-04-27 10:01:04 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-27 10:01:12 -0400 |
commit | 29c380f5f06d0c5a320b9bb6f8987065e7b81c91 (patch) | |
tree | f0c74e3f80f92a613525564efeffe001c960a1ab /arch/s390/kernel/early.c | |
parent | de46c33745f5e2ad594c72f2cf5f490861b16ce1 (diff) |
[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>
Diffstat (limited to 'arch/s390/kernel/early.c')
-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) | |||
253 | break; | 253 | break; |
254 | #endif | 254 | #endif |
255 | /* | 255 | /* |
256 | * Finish memory detection at the first hole, unless | 256 | * Finish memory detection at the first hole |
257 | * - we reached the hsa -> skip it. | 257 | * if storage size is unknown. |
258 | * - we know there must be more. | ||
259 | */ | 258 | */ |
260 | if (cc == -1UL && !memsize && old_addr != ADDR2G) | 259 | if (cc == -1UL && !memsize) |
261 | break; | 260 | break; |
262 | if (memsize && addr >= memsize) | 261 | if (memsize && addr >= memsize) |
263 | break; | 262 | break; |