summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/early.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-11-20 10:13:39 (GMT)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-11-20 10:13:48 (GMT)
commita2cb07376e397e7e788551f14acd972e22b09efd (patch)
tree652a3c1c7c99b3676bbeaa5fbdce546e7a7943c8 /arch/s390/kernel/early.c
parent70cf5035dedaeddf8f6ae5c0a74ea65dcd7356ab (diff)
downloadlinux-a2cb07376e397e7e788551f14acd972e22b09efd.tar.xz
[S390] Fix memory detection.
Before we're getting short on memory detection fixes here is the next one: if neither sclp nor diag260 report the storage size the detection loop will return immediately without detecting anything. Fix this by breaking the detection loop only if the memory end is known. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r--arch/s390/kernel/early.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c
index 8bf4ae1..1b3af7d 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -200,7 +200,7 @@ static noinline __init void find_memory_chunks(unsigned long memsize)
cc = __tprot(addr);
while (cc == old_cc) {
addr += CHUNK_INCR;
- if (addr >= memsize)
+ if (memsize && addr >= memsize)
break;
#ifndef CONFIG_64BIT
if (addr == ADDR2G)