diff options
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r-- | arch/s390/kernel/early.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index e6289ee74ecd..8bf4ae1150be 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -200,11 +200,13 @@ static noinline __init void find_memory_chunks(unsigned long memsize) | |||
200 | cc = __tprot(addr); | 200 | cc = __tprot(addr); |
201 | while (cc == old_cc) { | 201 | while (cc == old_cc) { |
202 | addr += CHUNK_INCR; | 202 | addr += CHUNK_INCR; |
203 | cc = __tprot(addr); | 203 | if (addr >= memsize) |
204 | break; | ||
204 | #ifndef CONFIG_64BIT | 205 | #ifndef CONFIG_64BIT |
205 | if (addr == ADDR2G) | 206 | if (addr == ADDR2G) |
206 | break; | 207 | break; |
207 | #endif | 208 | #endif |
209 | cc = __tprot(addr); | ||
208 | } | 210 | } |
209 | 211 | ||
210 | if (old_addr != addr && | 212 | if (old_addr != addr && |